本书以STM32WL5为核心,以“蓝桥杯”物联网竞赛实训平台CT127C_V3作为硬件平台,以实际操作为目标,介绍物联网的设计与开发。本书在介绍STM32WL5和开发环境与工具的基础上,使用HAL和LL进行GPIO、USART、I2C、SPI、ADC和TIM的程序设计与调试,特别是对LoRa操作进行了极大的简化,更加方便用户使用,并对第16届省赛和国赛试题进行设计、测试和解析,最后附有实验指导等实用资料,方便实验教学等。
郭书军,教授,主要讲授本科生微机原理与接口技术、讲授本科生和研究生嵌入式系统设计。《ARM Cortex-M3系统设计与实现—— STM32基础篇》荣获北方工业大学2020年高等教育优秀教材奖,2021年高等教育教学成果二等奖。
目 录
第1章 STM32WL5 MCU (1)
1.1 STM32WL5 MCU结构 (2)
1.2 STM32WL5 MCU存储器映像 (3)
1.3 STM32WL5 MCU系统时钟树 (5)
1.4 Cortex?-M4简介 (8)
第2章 开发环境与工具 (11)
2.1 软件开发包(SDK) (11)
2.2 MCU配置工具(STM32CubeMX) (12)
2.3 集成开发环境(IDE) (18)
第3章 通用输入输出接口GPIO (23)
3.1 GPIO简介 (23)
3.2 GPIO配置 (24)
3.3 GPIO库函数 (26)
3.3.1 GPIO HAL库函数 (26)
3.3.2 GPIO LL库函数 (28)
3.4 GPIO设计实例 (30)
3.4.1 HAL库函数程序设计与实现 (30)
3.4.2 LL库函数程序设计与实现 (34)
3.5 GPIO程序调试 (39)
3.5.1 HAL库函数程序调试 (39)
3.5.2 LL库函数程序调试 (42)
第4章 通用同步/异步收发器接口USART (43)
4.1 USART简介 (43)
4.2 USART配置 (44)
4.3 USART库函数 (47)
4.3.1 USART HAL库函数 (47)
4.3.2 USART LL库函数 (49)
4.4 USART设计实例 (51)
4.4.1 UART查询设计与实现 (51)
4.4.2 UART接收中断设计与实现 (54)
4.5 USART程序调试 (56)
第5章 集成电路总线接口I2C (58)
5.1 I2C简介 (58)
5.2 I2C配置 (59)
5.3 I2C库函数 (61)
5.3.1 I2C HAL库函数 (61)
5.3.2 I2C LL库函数 (63)
5.4 I2C设计实例 (65)
5.4.1 OLED简介 (65)
5.4.2 OLED程序设计与实现 (66)
5.4.3 EEPROM简介 (71)
5.4.4 EEPROM程序设计与实现 (72)
5.5 I2C程序调试 (74)
第6章 串行外设接口SPI (77)
6.1 SPI简介 (77)
6.2 SPI配置 (78)
6.3 SPI库函数 (81)
6.3.1 SPI HAL库函数 (81)
6.3.2 SPI LL库函数 (83)
6.4 SPI设计实例 (84)
6.4.1 SPI自环回程序设计与实现 (85)
6.4.2 LoRa?简介 (86)
6.4.3 LoRa程序设计与实现 (90)
6.5 SPI程序调试 (96)
第7章 模数转换器ADC (99)
7.1 ADC简介 (99)
7.2 ADC配置 (101)
7.3 ADC库函数 (104)
7.3.1 ADC HAL库函数 (104)
7.3.2 ADC LL库函数 (105)
7.4 ADC设计实例 (108)
7.5 ADC程序调试 (110)
第8章 定时器TIM (113)
8.1 TIM简介 (113)
8.2 TIM配置 (115)
8.3 TIM库函数 (119)
8.3.1 TIM HAL库函数 (119)
8.3.2 TIM LL库函数 (122)
8.4 TIM设计实例 (125)
8.5 TIM程序调试 (128)
第9章 扩展模块程序设计 (130)
9.1 矩阵按键程序设计 (130)
9.2 温度传感器程序设计 (134)
9.3 红外传感器程序设计 (136)
第10章 往届试题设计与解析 (138)
10.1 第16届省赛试题设计与解析 (138)
10.1.1 终端A程序设计 (143)
10.1.2 终端B程序设计 (149)
10.1.3 系统测试 (153)
10.1.4 客观题解析 (154)
10.2 第16届国赛试题设计与解析 (155)
10.2.1 终端A程序设计 (160)
10.2.2 终端B程序设计 (167)
10.2.3 系统测试 (173)
10.2.4 客观题解析 (174)
附录A STM32WL5引脚功能 (176)
附录B STM32WL5常用库函数 (186)
附录C 物联网竞赛实训平台CT127C_V3简介 (192)
附录D 物联网竞赛扩展模块简介 (201)
附录E ASCII码表 (202)
附录F C语言运算符 (203)
附录G 实验指导 (204)
实验1 软件开发环境 (204)
实验2 GPIO (204)
实验3 USART (205)
实验4 I2C (206)
实验5 SPI (206)
实验6 ADC (207)
实验7 TIM (207)
实验8 扩展模块 (208)
参考文献 (209)
使用软件 (210)