物联网应用开发:基于STM32
作者:廖义奎
出版社:北京航空航天大学出版社
出版时间:2019-09-01
ISBN:9787512430129
定价:¥69.00
第1章物联网及傻瓜STM32应用设计入门1
1.1物联网与单片机1
1.1.1物联网1
1.1.2智慧生活3
1.1.3智能控制器7
1.2准备工作9
1.3接线11
1.4傻瓜式程序设计14
1.4.1让程序设计变得傻瓜14
1.4.2从C51猜想到STM32的程序设计15
1.4.3在Obtain_Studio中编译和下载程序16
1.4.4Arduino风格的LED闪烁程序19
1.5实现与板无关的程序设计22
1.5.1傻瓜STM32要求程序与具体板和具体芯片无关22
1.5.2程序中的LED定义如何与STM32引脚关联起来23
1.5.3面向对象的傻瓜STM32编程23
1.6STM32F030F4P6最小系统板电路图26
第2章输出与控制27
2.11.6元和5.0元能做什么27
2.2LED驱动傻瓜程序还能做什么28
2.2.1继电器28
2.2.2电器控制31
2.3播放音乐32
2.4流水灯33
2.5爱心LED灯35
2.64相步进电机驱动37
第3章复杂控制 42
3.1梦幻世界42
3.2LED灯带驱动44
3.2.1WS2811/WS2812驱动芯片44
3.2.2LED灯带编程思路46
3.2.3LED灯带驱动方法50
3.2.4控制LED灯带动态显示52
3.2.5控制LED灯带动态图案实例53
第4章多任务控制57
4.1从0到157
4.1.1从STM32F0到STM32F157
4.1.2STM32F030F4P6与STM32F103VET6的区别58
4.2STM32F103VET6应用入门60
4.2.1按键与LED电路60
4.2.2LED驱动测试61
4.2.3STM32F103VET6与STM32F030F4P6程序的异同62
4.3自己设计一个简单的操作系统64
4.3.1引入操作系统64
4.3.2操作系统最核心的多任务管理66
4.3.3实时任务切换基础72
4.3.4最简单的操作系统79
4.3.5为操作系统加上任务休眠功能81
4.3.6任务调度策略84
4.3.7任务的同步87
4.3.8多任务控制实例87
第5章输入与中断 90
5.1输入功能90
5.2输入功能的应用91
5.2.1常用输入器件91
5.2.2输入应用实例93
5.3STM32中断入门95
5.4STM32外部中断工作原理98
5.4.1STM32外部中断98
5.4.2STM32外部中断程序设计步骤101
5.4.3采用C++ lambda表达式104
第6章输入/输出的工作原理107
6.1沿波讨源107
6.1.1输入/输出的本质107
6.1.2STM32输出功能的编程思路108
6.2STM32 GPIO工作原理115
6.2.1STM32 GPIO工作模式115
6.2.2STM32 GPIO寄存器121
6.2.3STM32端口的复用和重映射126
6.2.4STM32 I/O口的优点127
6.3STM32 GPIO库函数129
6.3.1STM32固件库中提供的GPIO库函数129
6.3.2GPIO端口的定义129
6.3.3AHB/APB桥的配置131
6.3.4GPIO引脚的配置134
6.4GPIO的读/写136
6.5NVIC嵌套中断向量控制器145
6.5.1NVIC嵌套中断向量控制器基础145
6.5.2STM32的NVIC优先级149
6.6STM32向量表及配置154
6.6.1STM32复位后从哪个地址开始执行154
6.6.2STM32向量表155
6.6.3用户程序中的向量表156
第7章定时与控制166
7.1定时工作原理166
7.1.1漏刻计时166
7.1.2定时与控制介绍166
7.1.3SysTick定时器168
7.2日历171
7.2.1日历的故事171
7.2.2日历定时器171
7.2.3RTC的本质与测试程序172
7.2.4日历算法174
7.2.5STM32的RTC日历测试程序175
7.3STM32定时器177
7.3.1STM32定时器的种类177
7.3.2通用定时器介绍179
7.3.3通用定时器基本应用程序设计179
7.4PWM控制182
7.4.1PWM控制的基本原理182
7.4.2STM32的PWM波形输出182
7.4.3完整的PWM测试程序186
7.5深入了解STM32定时器工作原理188
7.5.1STM32定时器结构188
7.5.2通用定时器常用模式192
7.5.3输出模式的例子194
7.5.4用输入捕获模式测试例子196
第8章电脑串口通信与控制 199
8.1双鲤尺素199
8.1.1关于双鲤尺素199
8.1.2STM32的通信原理199
8.2STM32的UART通信入门201
8.3电脑控制系统207
8.4深入USART工作原理210
8.4.1STM32 USART介绍210
8.4.2发送器212
8.4.3接收器214
8.4.4STM32固件库中提供的USART库函数216
8.4.5初始化函数USART_Init217
8.4.6波特率的计算方法219
第9章手机蓝牙通信与控制221
9.1关于蓝牙221
9.1.1蓝牙简介221
9.1.2蓝牙模块222
9.2蓝牙模块指令集226
9.2.1常用指令226
9.2.2串口指令228
9.2.3从机指令228
9.2.4主机指令229
9.2.5连接相关指令229
9.2.6模块信息相关指令230
9.2.7I/O监控指令230
9.2.8电源管理指令231
9.3手机蓝牙通信与控制的实现232
9.3.1STM32板与蓝牙模块的连接及程序232
9.3.2安卓的蓝牙4.0应用程序233
第10章手机WiFi通信与控制 236
10.1WiFi模块236
10.1.1ESP8266模块介绍236
10.1.2ESP8266使用方法238
10.2ESP8266 AT指令集240
10.2.1ESP8266 AT指令集介绍240
10.2.2ESP8266 AT指令示例242
10.3STM32与ESP8266模块的连接244
10.3.1STM32与ESP8266模块的硬件连接244
10.3.2STM32与ESP8266 Station模式的应用模型246
10.4STM32与ESP8266模块的程序设计246
10.4.1TCP服务器程序246
10.4.2ESP8266模块的STM32程序248
10.4.3安卓TCP客户端程序250
第11章感知与信号采集253
11.1物联网感知技术253
11.1.1结绳记数253
11.1.2关于物联网感知技术254
11.2STM32 ADC的程序设计256
11.3深入STM32的ADC原理258
11.3.1STM32的ADC简介258
11.3.2STM32 ADC的程序设计260
11.3.3STM32 ADC程序分析263
11.3.4STM32内部温度测量271
11.4STM32 ADC注入方式273
11.4.1STM32 ADC注入方式介绍273
11.4.2STM32双ADC模式274
11.4.3STM32 ADC注入方式例子274
第12章传感器信号采集280
12.1夸父逐日280
12.2MQ2烟雾传感器模块284
12.3E201型pH复合电极286
12.4心跳传感器288
第13章智能识别模块应用293
13.1RFID模块应用293
13.1.1RFID工作原理293
13.1.2RDM6300/RDM8800射频模块应用294
13.2常用智能识别模块300
13.2.1R301超小型一体式电容指纹模块300
13.2.2R305光学指纹模块301
13.2.3ASR M013A语音识别模块302
第14章图形用户界面设计306
14.1触摸屏在物联网中的应用306
14.1.1LCD介绍306
14.1.2液晶屏显示程序309
14.2GUI入门312
14.2.1简单的控件和窗口312
14.2.2GUI的事件处理315
14.2.3完整的GUI例子316
14.3STM32的LCD工作原理317
14.3.1STM32的LCD接口317
14.3.2STM32的LCD驱动程序设计322
14.3.3TFT屏初始化326
14.3.4FSMC接口驱动TFT屏的测试程序328
14.4深入GUI程序设计330
14.4.1Obtain GUI结构330
14.4.2带消息处理的GUI测试程序332
14.4.3在main函数里处理消息的方式334
14.4.4窗口的控件335
14.4.5控件应用程序设计337
14.4.6智能手机桌面风格的应用程序341
14.4.7嵌入式GUI底层的设计345
14.5STM32 GUI综合应用实例357
参考文献359