新書推薦:
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:HK$
89.7
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:HK$
147.2
《
清俗纪闻
》
售價:HK$
101.2
《
镜中的星期天
》
售價:HK$
76.2
《
世界前沿技术发展报告2024
》
售價:HK$
193.2
《
可转债——新手理财的极简工具
》
售價:HK$
66.7
《
新加坡教育:神话与现实
》
售價:HK$
98.9
《
“口袋中的世界史”第一辑·冷战中的危机事件
》
售價:HK$
299.0
編輯推薦:
作者是一名极富教学经验的教授,在大多数人看来枯燥无味的语言基础能够被他讲解得生动有趣,配合每章结束后的思考习题,很好地巩固了前一章内学到的知识。
作者具有独特的教学和写作思路,不像高高的讲台上站着的老师,而更像温和的与你面对面交流编程经验的朋友。
学习编程语言的关键在于动手实践,书中提供了大量的实例可供读者自行发散思维。
內容簡介:
《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 你需要什么 3
1.2.1 基于Atmel的单片机卡 3
1.2.2 面包板 5
1.2.3 零碎的小件 5
1.3 安装软件 6
1.4 检查硬件 7
1.4.1 连接USB线缆 7
1.4.2 在集成开发环境中选择mc板 8
1.4.3 端口选择 9
1.5 载入并运行你的第一个程序 11
1.5.1 Blink程序 11
1.5.2 运行Blink程序代码 13
1.5.3 编译Blink程序代码 14
1.5.4 上载Blink程序 14
1.6 本章小结 16
第2章 Arduino C 17
2.1 程序语言的通用构件 17
2.1.1 表达式 17
2.1.2 语句 19
2.1.3 语句块 20
2.1.4 函数块 21
2.2 程序的5个环节 22
2.3 再来看看Blink程序 24
2.3.1 程序注释 25
2.3.2 数据定义 26
2.3.3 setup函数 28
2.3.4 loop函数 29
2.4 小结 30
2.5 练习 31
第3章 Arduino C数据类型 32
3.1 boolean数据类型 33
3.2 char数据类型 34
3.2.1 二进制数据 34
3.2.2 char数据类型和字符集 35
3.2.3 生成ASCII字符表 36
3.3 byte数据类型 37
3.4 int数据类型 37
3.5 word数据类型 38
3.6 long数据类型 38
3.7 float和double数据类型 38
3.8 string数据类型 39
3.9 String数据类型 40
3.10 void数据类型 41
3.11 array数据类型 42
3.12 变量的定义与声明 42
3.12.1 符号表 43
3.12.2 lvalue和rvalue 43
3.12.3 “水桶”比喻 45
3.13 使用强制类型转换符 46
3.14 小结 47
3.15 练习 48
第4章 C语言的逻辑判断 49
4.1 关系运算符 49
4.2 if语句 50
4.3 升级版Blink程序 52
4.3.1 电路 52
4.3.2 程序代码 54
4.4 升级版Blink程序的修改 55
4.5 if-else表达式 56
4.6 if语句嵌套 57
4.7 自增和自减运算符 58
4.7.1 两种类型的自增运算符++ 59
4.7.2 两种类型的自减运算符?? 59
4.7.3 运算符的优先级 60
4.8 switch语句 61
4.9 goto语句 62
4.10 抛弃“魔数” 62
4.11 C语言的预处理指令 63
4.12 正面还是反面 65
4.12.1 初始化环节 65
4.12.2 输入环节 65
4.12.3 处理环节 65
4.12.4 输出环节 66
4.12.5 结束环节 66
4.13 思考一下 68
4.14 小结 69
4.15 练习 69
第5章 C语言的循环 70
5.1 正常循环的特征 70
5.1.1 条件1:变量初始化 70
5.1.2 条件2:循环控制测试 71
5.1.3 条件3:修改循环控制变量的状态 71
5.2 使用for循环 71
5.3 while循环 73
5.4 do-while循环 74
5.5 break和continue关键字 75
5.5.1 break语句 75
5.5.2 continue语句 76
5.6 一段完整的示例 77
5.6.1 环节1:初始化 77
5.6.2 环节2:输入 77
5.6.3 环节3:处理 77
5.6.4 环节4:输出 78
5.6.5 环节5:结束 78
5.6.6 代码5-1是“傻瓜代码” 80
5.7 循环和编码风格 81
5.8 小结 82
5.9 练习 82
第6章 C语言函数 83
6.1 函数剖析 84
6.1.1 函数类型说明符 84
6.1.2 函数名 84
6.1.3 函数参数 85
6.1.4 函数体 86
6.1.5 函数签名 87
6.2 “优质”函数所具备的条件 88
6.2.1 使用面向任务的函数命名 88
6.2.2 函数应该具有聚合力 89
6.2.3 函数应避免耦合 89
6.3 编写自己的函数 90
6.3.1 设计函数的考虑因素 90
6.3.2 参数列表 91
6.3.3 函数体 92
6.4 逻辑运算符 92
6.4.1 逻辑与运算符&& 92
6.4.2 逻辑或|| 93
6.4.3 逻辑非! 94
6.5 编写自己的函数 94
6.5.1 IsLeapYear函数和编码风格 95
6.5.2 实参Argument和形参Parameter 96
6.5.3 为什么要坚持一种函数风格 96
6.6 闰年计算程序 97
6.7 函数中数据的传入和返回 99
6.8 小结 102
6.9 练习 102
第7章 存储类型和作用域 103
7.1 隐藏程序数据 103
7.2 语句块作用域 103
7.3 本地作用域 105
7.4 全局作用域 108
7.5 作用域和存储类型 110
7.5.1 auto存储类型 110
7.5.2 register存储类型 110
7.5.3 static存储类型 111
7.5.4 extern存储类型 111
7.6 volatile关键字 116
7.7 小结 116
7.8 练习 116
第8章 初识指针 117
8.1 定义一个指针 117
8.1.1 指针名 117
8.1.2 星号 118
8.1.3 指针类型说明符和指针标量 118
8.2 使用指针 121
8.2.1 取值运算符* 122
8.2.2 使用取值运算 123
8.3 指针用法小结 125
8.4 指针为什么有用 126
8.5 指针和数组 129
8.6 小结 134
8.7 练习 134
第9章 高效使用指针 136
9.1 针对指针的关系判断 136
9.2 指针运算 137
9.3 二维数组 141
9.3.1 一点小改进 144
9.3.2 几维 144
9.4 二维数组和指针 144
9.5 函数指针 147
9.5.1 函数指针数组 149
9.5.2 enum数据类型 149
9.6 右左右左规则 153
9.7 小结 154
9.8 练习 154
第10章 结构、联合和数据存储 155
10.1 结构 155
10.1.1 声明结构 156
10.1.2 定义结构 156
10.1.3 访问结构成员 157
10.1.4 从函数调用返回结构 160
10.1.5 使用结构指针 162
10.1.6 初始化结构 164
10.1.7 结构数组 165
10.2 联合 165
10.3 EEPROM内存 166
10.4 数据日志 167
10.5 其他存储选择 175
10.5.1 Shield 175
10.5.2 SD卡的其他功能 176
10.6 小结 177
10.7 练习 178
第11章 C预处理和按位操作 179
11.1 预处理指令 179
11.1.1 #undef 180
11.1.2 #line 181
11.1.3 #if条件指令 182
11.1.4 #include 183
11.2 带参宏 184
11.2.1 按位操作符 184
11.2.2 按位移动操作符 187
11.2.3 使用不同进制的整型常量 188
11.2.4 带参宏补充内容 189
11.3 小结 189
11.4 练习 189
第12章 Arduino库 191
12.1 库 191
12.1.1 Arduino库 191
12.1.2 其他库 196
12.2 编写自己的库 198
12.2.1 库头文件 199
12.2.2 库源代码文件Dates.cpp 200
12.3 设置Arduino IDE以使用自己的库 203
12.4 使用Dates库实现的示例程序 203
12.4.1 向IDE添加Easter程序 205
12.4.2 keyword.txt文件 205
12.4.3 关键词颜色theme.txt 206
12.5 小结 207
12.6 练习 207
附录A 供应商和资源 208
A.1 供应商 208
A.1.1 Seeedino Studio 208
A.1.2 Diligent Inc 208
A.1.3 OSEPP 209
A.1.4 Tinyos Electronics 210
A.1.5 Cooking Hacks 210
A.2 资源 210
附录B 实验用电子元器件 212
B.1 开发板 212
B.2 面包板 212
B.3 电子元件 212
B.4 网购元件 213
B.5 实验 213
练习答案 215
第2章 215
第3章 215
第4章 217
第5章 219
第6章 221
第7章 222
第8章 222
第9章 223
第10章 224
第11章 226
第12章 227