书籍详情
Arduino C语言编程实战
作者:(美)普德姆 著,麦秆创智 译
出版社:人民邮电出版社
出版时间:2013-10-01
ISBN:9787115329332
定价:¥49.00
购买这本书可以去
内容简介
《Arduino C语言编程实战》基于Arduino平台,介绍了Arduino编程所需的硬件、编程环境和Arduino上的C语言编程方法。从操作数和运算符开始,《Arduino C语言编程实战》详细讲解了如何使用C语言构建程序语句,如何编写函数块和运行函数,如何引入函数原型,如何理解和使用指针,如何在程序中加入判断、循环和跳转,如何使用结构体数据类型,如何使用预处理指令,以及如何使用Arduino IDE附带的非默认库。附录中还介绍了如何选购Arduino编程硬件。《Arduino C语言编程实战》适合于对硬件编程感兴趣的技术人员阅读,尤其可作为C语言基础偏弱的读者的入门图书。
作者简介
杰克·普德姆(Jack Purdum),普渡大学技术学院(Purdue University’s College of Technology)的教授。普德姆博士在大学执教超过25年,其间一共编写了17本程序开发和计算机相关的教材,如今,他仍然孜孜不倦,为杂志和期刊撰写文章,为各种专业会议做演讲。他是Ecosoft, Inc.的创始人和CEO;这是一家专注于为PC研发编译器等程序开发工具的公司。普德姆博士持续地将精力投入在与面向对象程序开发分析和设计相关的线上培训和指导上,他总结出了大量的教学经验和方法论(例如:“右左右左法则”、“水桶比喻”、“程序设计五环节”以及Sideway Refinement等),还包括代码的评测机制(Dhampstone)等,这些都成为了他多年教学生涯的硕果。他在穆斯静冈学院(Muskingum College)取得学士学位,后在俄亥俄州立大学(Ohio State University)获得硕士和博士学位。
目录
第1章 简介
1.1 一些假设前提
1.2 你需要什么
1.2.1 基于Atmel的单片机卡
1.2.2 面包板
1.2.3 零碎的小件
1.3 安装软件
1.4 检查硬件
1.4.1 连接USB线缆
1.4.2 在集成开发环境中选择mc板
1.4.3 端口选择
1.5 载入并运行你的第一个程序
1.5.1 Blink程序
1.5.2 运行Blink程序代码
1.5.3 编译Blink程序代码
1.5.4 上载Blink程序
1.6 本章小结 第2章 Arduino C
2.1 程序语言的通用构件
2.1.1 表达式
2.1.2 语句
2.1.3 语句块
2.1.4 函数块
2.2 程序的5个环节
2.3 再来看看Blink程序
2.3.1 程序注释
2.3.2 数据定义
2.3.3 setup()函数
2.3.4 loop()函数
2.4 小结
2.5 练习 第3章 Arduino C数据类型
3.1 boolean数据类型
3.2 char数据类型
3.2.1 二进制数据
3.2.2 char数据类型和字符集
3.2.3 生成ASCII字符表
3.3 byte数据类型
3.4 int数据类型
3.5 word数据类型
3.6 long数据类型
3.7 float和double数据类型
3.8 string数据类型
3.9 String数据类型
3.10 void数据类型
3.11 array数据类型
3.12 变量的定义与声明
3.12.1 符号表
3.12.2 lvalue和rvalue
3.12.3 “水桶”比喻
3.13 使用强制类型转换符
3.14 小结
3.15 练习 第4章 C语言的逻辑判断
4.1 关系运算符
4.2 if语句
4.3 升级版Blink程序
4.3.1 电路
4.3.2 程序代码
4.4 升级版Blink程序的修改
4.5 if-else表达式
4.6 if语句嵌套
4.7 自增和自减运算符
4.7.1 两种类型的自增运算符(++)
4.7.2 两种类型的自减运算符(??)
4.7.3 运算符的优先级
4.8 switch语句
4.9 goto语句
4.10 抛弃“魔数”
4.11 C语言的预处理指令
4.12 正面还是反面
4.12.1 初始化环节
4.12.2 输入环节
4.12.3 处理环节
4.12.4 输出环节
4.12.5 结束环节
4.13 思考一下
4.14 小结
4.15 练习 第5章 C语言的循环
5.1 正常循环的特征
5.1.1 条件1:变量初始化
5.1.2 条件2:循环控制测试
5.1.3 条件3:修改循环控制变量的状态
5.2 使用for循环
5.3 while循环
5.4 do-while循环
5.5 break和continue关键字
5.5.1 break语句
5.5.2 continue语句
5.6 一段完整的示例
5.6.1 环节1:初始化
5.6.2 环节2:输入
5.6.3 环节3:处理
5.6.4 环节4:输出
5.6.5 环节5:结束
5.6.6 代码5-1是“傻瓜代码”
5.7 循环和编码风格
5.8 小结
5.9 练习 第6章 C语言函数
6.1 函数剖析
6.1.1 函数类型说明符
6.1.2 函数名
6.1.3 函数参数
6.1.4 函数体
6.1.5 函数签名
6.2 “优质”函数所具备的条件
6.2.1 使用面向任务的函数命名
6.2.2 函数应该具有聚合力
6.2.3 函数应避免耦合
6.3 编写自己的函数
6.3.1 设计函数的考虑因素
6.3.2 参数列表
6.3.3 函数体
6.4 逻辑运算符
6.4.1 逻辑与运算符(&&)
6.4.2 逻辑或(||)
6.4.3 逻辑非(!)
6.5 编写自己的函数
6.5.1 IsLeapYear()函数和编码风格
6.5.2 实参(Argument)和形参(Parameter)
6.5.3 为什么要坚持一种函数风格
6.6 闰年计算程序
6.7 函数中数据的传入和返回
6.8 小结
6.9 练习 第7章 存储类型和作用域
7.1 隐藏程序数据
7.2 语句块作用域
7.3 本地作用域
7.4 全局作用域
7.5 作用域和存储类型
7.5.1 auto存储类型
7.5.2 register存储类型
7.5.3 static存储类型
7.5.4 extern存储类型
7.6 volatile关键字
7.7 小结
7.8 练习 第8章 初识指针
8.1 定义一个指针
8.1.1 指针名
8.1.2 星号
8.1.3 指针类型说明符和指针标量
8.2 使用指针
8.2.1 取值运算符(*)
8.2.2 使用取值运算
8.3 指针用法小结
8.4 指针为什么有用
8.5 指针和数组
8.6 小结
8.7 练习 第9章 高效使用指针
9.1 针对指针的关系判断
9.2 指针运算
9.3 二维数组
9.3.1 一点小改进
9.3.2 几维
9.4 二维数组和指针
9.5 函数指针
9.5.1 函数指针数组
9.5.2 enum数据类型
9.6 右左右左规则
9.7 小结
9.8 练习 第10章 结构、联合和数据存储
10.1 结构
10.1.1 声明结构
10.1.2 定义结构
10.1.3 访问结构成员
10.1.4 从函数调用返回结构
10.1.5 使用结构指针
10.1.6 初始化结构
10.1.7 结构数组
10.2 联合
10.3 EEPROM内存
10.4 数据日志
10.5 其他存储选择
10.5.1 Shield
10.5.2 SD卡的其他功能
10.6 小结
10.7 练习 第11章 C预处理和按位操作
11.1 预处理指令
11.1.1 #undef
11.1.2 #line
11.1.3 #if条件指令
11.1.4 #include
11.2 带参宏
11.2.1 按位操作符
11.2.2 按位移动操作符
11.2.3 使用不同进制的整型常量
11.2.4 带参宏(补充内容)
11.3 小结
11.4 练习 第12章 Arduino库
12.1 库
12.1.1 Arduino库
12.1.2 其他库
12.2 编写自己的库
12.2.1 库头文件
12.2.2 库源代码文件(Dates.cpp)
12.3 设置Arduino IDE以使用自己的库
12.4 使用Dates库实现的示例程序
12.4.1 向IDE添加Easter程序
12.4.2 keyword.txt文件
12.4.3 关键词颜色(theme.txt)
12.5 小结
12.6 练习 附录A 供应商和资源
A.1 供应商
A.1.1 Seeedino Studio
A.1.2 Diligent Inc
A.1.3 OSEPP
A.1.4 Tinyos Electronics
A.1.5 Cooking Hacks
A.2 资源 附录B 实验用电子元器件
B.1 开发板
B.2 面包板
B.3 电子元件
B.4 网购元件
B.5 实验 练习答案
第2章
第3章
第4章
第5章
第6章
第7章
第8章
第9章
第10章
第11章
第12章
1.1 一些假设前提
1.2 你需要什么
1.2.1 基于Atmel的单片机卡
1.2.2 面包板
1.2.3 零碎的小件
1.3 安装软件
1.4 检查硬件
1.4.1 连接USB线缆
1.4.2 在集成开发环境中选择mc板
1.4.3 端口选择
1.5 载入并运行你的第一个程序
1.5.1 Blink程序
1.5.2 运行Blink程序代码
1.5.3 编译Blink程序代码
1.5.4 上载Blink程序
1.6 本章小结 第2章 Arduino C
2.1 程序语言的通用构件
2.1.1 表达式
2.1.2 语句
2.1.3 语句块
2.1.4 函数块
2.2 程序的5个环节
2.3 再来看看Blink程序
2.3.1 程序注释
2.3.2 数据定义
2.3.3 setup()函数
2.3.4 loop()函数
2.4 小结
2.5 练习 第3章 Arduino C数据类型
3.1 boolean数据类型
3.2 char数据类型
3.2.1 二进制数据
3.2.2 char数据类型和字符集
3.2.3 生成ASCII字符表
3.3 byte数据类型
3.4 int数据类型
3.5 word数据类型
3.6 long数据类型
3.7 float和double数据类型
3.8 string数据类型
3.9 String数据类型
3.10 void数据类型
3.11 array数据类型
3.12 变量的定义与声明
3.12.1 符号表
3.12.2 lvalue和rvalue
3.12.3 “水桶”比喻
3.13 使用强制类型转换符
3.14 小结
3.15 练习 第4章 C语言的逻辑判断
4.1 关系运算符
4.2 if语句
4.3 升级版Blink程序
4.3.1 电路
4.3.2 程序代码
4.4 升级版Blink程序的修改
4.5 if-else表达式
4.6 if语句嵌套
4.7 自增和自减运算符
4.7.1 两种类型的自增运算符(++)
4.7.2 两种类型的自减运算符(??)
4.7.3 运算符的优先级
4.8 switch语句
4.9 goto语句
4.10 抛弃“魔数”
4.11 C语言的预处理指令
4.12 正面还是反面
4.12.1 初始化环节
4.12.2 输入环节
4.12.3 处理环节
4.12.4 输出环节
4.12.5 结束环节
4.13 思考一下
4.14 小结
4.15 练习 第5章 C语言的循环
5.1 正常循环的特征
5.1.1 条件1:变量初始化
5.1.2 条件2:循环控制测试
5.1.3 条件3:修改循环控制变量的状态
5.2 使用for循环
5.3 while循环
5.4 do-while循环
5.5 break和continue关键字
5.5.1 break语句
5.5.2 continue语句
5.6 一段完整的示例
5.6.1 环节1:初始化
5.6.2 环节2:输入
5.6.3 环节3:处理
5.6.4 环节4:输出
5.6.5 环节5:结束
5.6.6 代码5-1是“傻瓜代码”
5.7 循环和编码风格
5.8 小结
5.9 练习 第6章 C语言函数
6.1 函数剖析
6.1.1 函数类型说明符
6.1.2 函数名
6.1.3 函数参数
6.1.4 函数体
6.1.5 函数签名
6.2 “优质”函数所具备的条件
6.2.1 使用面向任务的函数命名
6.2.2 函数应该具有聚合力
6.2.3 函数应避免耦合
6.3 编写自己的函数
6.3.1 设计函数的考虑因素
6.3.2 参数列表
6.3.3 函数体
6.4 逻辑运算符
6.4.1 逻辑与运算符(&&)
6.4.2 逻辑或(||)
6.4.3 逻辑非(!)
6.5 编写自己的函数
6.5.1 IsLeapYear()函数和编码风格
6.5.2 实参(Argument)和形参(Parameter)
6.5.3 为什么要坚持一种函数风格
6.6 闰年计算程序
6.7 函数中数据的传入和返回
6.8 小结
6.9 练习 第7章 存储类型和作用域
7.1 隐藏程序数据
7.2 语句块作用域
7.3 本地作用域
7.4 全局作用域
7.5 作用域和存储类型
7.5.1 auto存储类型
7.5.2 register存储类型
7.5.3 static存储类型
7.5.4 extern存储类型
7.6 volatile关键字
7.7 小结
7.8 练习 第8章 初识指针
8.1 定义一个指针
8.1.1 指针名
8.1.2 星号
8.1.3 指针类型说明符和指针标量
8.2 使用指针
8.2.1 取值运算符(*)
8.2.2 使用取值运算
8.3 指针用法小结
8.4 指针为什么有用
8.5 指针和数组
8.6 小结
8.7 练习 第9章 高效使用指针
9.1 针对指针的关系判断
9.2 指针运算
9.3 二维数组
9.3.1 一点小改进
9.3.2 几维
9.4 二维数组和指针
9.5 函数指针
9.5.1 函数指针数组
9.5.2 enum数据类型
9.6 右左右左规则
9.7 小结
9.8 练习 第10章 结构、联合和数据存储
10.1 结构
10.1.1 声明结构
10.1.2 定义结构
10.1.3 访问结构成员
10.1.4 从函数调用返回结构
10.1.5 使用结构指针
10.1.6 初始化结构
10.1.7 结构数组
10.2 联合
10.3 EEPROM内存
10.4 数据日志
10.5 其他存储选择
10.5.1 Shield
10.5.2 SD卡的其他功能
10.6 小结
10.7 练习 第11章 C预处理和按位操作
11.1 预处理指令
11.1.1 #undef
11.1.2 #line
11.1.3 #if条件指令
11.1.4 #include
11.2 带参宏
11.2.1 按位操作符
11.2.2 按位移动操作符
11.2.3 使用不同进制的整型常量
11.2.4 带参宏(补充内容)
11.3 小结
11.4 练习 第12章 Arduino库
12.1 库
12.1.1 Arduino库
12.1.2 其他库
12.2 编写自己的库
12.2.1 库头文件
12.2.2 库源代码文件(Dates.cpp)
12.3 设置Arduino IDE以使用自己的库
12.4 使用Dates库实现的示例程序
12.4.1 向IDE添加Easter程序
12.4.2 keyword.txt文件
12.4.3 关键词颜色(theme.txt)
12.5 小结
12.6 练习 附录A 供应商和资源
A.1 供应商
A.1.1 Seeedino Studio
A.1.2 Diligent Inc
A.1.3 OSEPP
A.1.4 Tinyos Electronics
A.1.5 Cooking Hacks
A.2 资源 附录B 实验用电子元器件
B.1 开发板
B.2 面包板
B.3 电子元件
B.4 网购元件
B.5 实验 练习答案
第2章
第3章
第4章
第5章
第6章
第7章
第8章
第9章
第10章
第11章
第12章
猜您喜欢