第1章 开源硬件入门 1
1.1物理软件概述 1
1.2 Pinguino物理软件 3
1.3 PIC18开源硬件板 4
通用型2550板 5
简化型2550板 7
微小型4550板 7
Bootloader引导程序 8
1.4 Pinguino入门函数 9
数字I/O 9
模拟I/O 10
时间 10
LED闪灯例程 10
读按键输入 16
读模拟量输入 17
第2章 结构化编程 22
2.1控制语句和语法 22
if条件判断语句 22
比较运算符 23
if-else语句 23
for语句 24
switch-case语句 25
while循环 26
do-while循环 26
break语句 27
continue语句 27
return语句 27
goto语句 28
2.2定义基本类型变量 29
2.3定义浮点类型变量 29
2.4定义数组 31
2.5定义字符串 33
2.6使用C字符串 35
2.7将数字转换为字符 37
2.8将字符转换为数字 39
2.9将代码功能模块化 41
2.10从一个函数返回多个变量 44
2.11条件语句执行 46
2.12时序状态执行 47
2.13计数器执行 48
2.14循环退出操作 51
2.15在单个变量上执行不同的操作 51
2.16比较字符和数值 53
2.17比较字符串 55
2.18逻辑比较操作 55
2.19执行位操作 56
2.20复合操作和赋值 58
第3章 基础算法 60
3.1算术运算 60
加,减,乘,除 60
自加和自减 61
查找两数相除后的余数 61
3.2绝对值操作 63
3.3开方与开根号 63
3.4产生随机数 64
3.5查找最大最小值 66
限制变量的数值范围 67
3.6高、低位/字节操作 68
设置和读位 68
移位 70
提取整型或长整型高低字节 71
从高、低字节形成整型或长整型 72
3.7使用三角函数 74
第4章 外设库 75
4.1使用内建库 75
4.2安装第三方库 77
4.3修改库 78
4.4创建自己的库 81
第5章 代码编译和存储器管理 90
5.1理解编译过程 90
5.2查看RAM使用空间 90
5.3在程序中使用数字和字符 92
在程序存储器中使用数字变量 92
在程序存储器中使用字符串 95
5.4使用宏定义#define和常量const代替整数 96
5.5使用条件编译 97
第6章 Pinguino开发环境 99
6.1安装IDE 99
安装Python-2.5.2 100
安装wxPython2.8 103
安装PyUSB-0.4.1 105
安装libUSB-win32 106
安装USB设备驱动 108
安装Pinguino IDE 108
6.2创建第一个程序 112
第7章 Pinguino与Arduino的比较 115
7.1 Pinguino PIC18F2550与Arduino ATmega328的比较 115
7.2 Pinguino 32与Arduino MEGA2560的比较 116
7.3 Pinguino的优势 117
第8章 固件代码烧录 119
8.1制作JDM编程器烧录固件代码 119
8.2使用Pinguino板烧录固件代码 129
第9章 Pinguino基础例程 135
9.1转换整型为十进制 135
9.2延时 136
9.3 LED闪灯的简化代码 137
9.4读引脚状态 138
9.5 I/O中断 138
9.6多个I/O口输出显示 139
9.7 LCD显示 140
4位LCD显示 141
8位LCD显示 144
LCD代码库的使用 145
9.8 PWM控制 148
9.9伺服控制 149
第10章 Pinguino接口应用例程 153
10.1 SHT7温湿度传感器 153
应用注意事项 155
10.2串口通信 160
10.3 SPI通信控制ZigBee无线模块 163
10.4 12C总线读写外部EEPROM 170
10.5与单总线传感器通信 171
温度计算 171
DS18B20总线访问步骤 174
DS18B20温度读取函数参考步骤 176
例程代码 176
10.6 USB数据传输 178
令牌包 179
帧开始包 179
数据包 180
握手包 180
NRZI编码 181
参考文献 185