嵌入式系统实现(Cortex-M3基础与提高)(第三版)
定价:¥43.50
作者: 吴建军
最新印次日期:2026-3
出版社:高等教育出版社
“十四五”职业教育国家规划教材“十三五”职业教育国家规划教材
- 高等教育出版社
- 9787040669916
- 3版
- 48276613-6
- 16开
- 405
- 装备制造大类
- 自动化类
- 电子信息、自动化
- 高职
内容简介
本书是“十四五”职业教育国家规划教材。
本书第一部分介绍ARM基础知识、编程软件及实验平台资源;第二部分为基于HAL库的基本编程训练项目,设计了包括操作系统在内的12个项目;第三部分为基于HAL库的综合应用案例,围绕DHT11温湿度测量、WiFi通信、GPRS数据传输、基于RS485的电能数据监控设计了4个应用案例;第四部分介绍了Mbed OS相关的拓展训练项目。本书从初学者的角度设计和安排教学内容,力求通过教学设计降低初学者的学习难度。
为利教便学,本书配套有PPT教学课件、微课讲解等教学资源,其中部分资源以二维码的形式在书中呈现。
本书适合作为本科层次职业院校、高等职业院校机电、电子、自动化、计算机等相关专业的教材和教学参考用书,也可以作为嵌入式系统开发人员、爱好者的参考资料。
目录
目录
前辅文
第一部分 基础知识
第一章 ARM基础知识
1.1 嵌入式系统简介
1.2 指令集
1.3 STM32F10x系列芯片简介
1.4 STM32F10x系列芯片的系统架构及总线
1.5 STM32F10x系列芯片的时钟系统
1.6 ARM嵌入式软件系统
思考与练习
第二章 编程软件及实验平台资源
2.1 STM32寄存器及库函数
2.2 STM32CubeMX软件简介及人门训练
2.3 Keil MDK简介及基本配置
2.4电路原理
2.5本书学习内容安排
思考与练习
第二部分 基于HAL库的基本编程训练项目
项目一 GPIO端口的输出及按键输入
项目简介
相关知识
一、端口、引脚及输入输出模式
二、APB2外设时钟使能寄存器(RCC_APB2ENR)
三、端口配置寄存器(GPIOx_CRL和GPIOx_CRH)
四、端口输出数据寄存器(GPIOx_ODR
五、端口输入数据寄存器(GPIOx_IDR)
六、端口复位寄存器(GPIOx_BRR)
七、端口置位/清除寄存器(GPIOx_BSRR)
操作训练
任务一 通过调用库函数控制LED灯
任务二 通过按键控制LED灯
思考与练习
项目二 外部输入中断及应用
项目简介
相关知识
一、中断的概念及STM32F10x系列芯片的中断
二、STM32F10x的中断向量表
三、中断优先级
四、STM32F10x的外部中断
五、弱函数和回调函数
操作训练
任务一 外部中断输入实验
任务二 脉冲计数实验(选学)
思考与练习
项目三 串行通信及应用
项目简介
相关知识
一、串行通信简介
二、UART连接方式
三、通信帧和波特率
四、串口寄存器
操作训练
任务一 UART阻塞方式发送数据
任务二 UART阻塞方式接收数据
任务三 UART中断方式收发
任务四 串口printf()重定向
思考与练习
项目四 液晶显示
项目简介
相关知识
操作训练
任务一 TFTLCD屏驱动及测试
任务二 状态、数字及图形显示
思考与练习
项目五 模/数转换器及应用
项目简介
相关知识
一、STM32内置模数转换器简介
二、规则通道组和注入通道组
三、ADC相关寄存器
操作训练
任务一 单通道电压采集及LCD显示
任务二 多通道电压采集及串口传输
任务三 STM32F10x芯片内部温度读取
思考与练习
项目六 数/模转换器及应用
项目简介
相关知识
一、STM32F103RCT6的DAC通道
二、STM32F10x系列芯片的DAC配置基础
操作训练
任务一 DAC输出
任务二 输出三角波(选学)
任务三 输出正弦波(选学)
思考与练习
项目七 定时器及应用
项目简介
相关知识
一、STM32F10x定时器分类及时钟源介绍
二、控制STM32F10x的通用定时器的寄存器
三、PWM及相关寄存器
四、通过TIM1_CH1输出PWM的配置步骤
五、输入捕获及相关寄存器
六、库函数设置输入捕获的配置步骤
操作训练
任务一 定时器中断
任务二 PWM信号输出
任务三 输入捕获及频率测量
思考与练习
项目八 实时时钟(RTC)及应用
项目简介
相关知识
一、RTC基础知识
二、RTC编程思路
操作训练
任务一 RTC的配置及串口传输
任务二 TFTLCD显示实时时间
思考与练习
项目九 用户数据的读写
项目简介
相关知识
一、AT24Cxx简介
二、STM32内部FLASH简介
三、STM32内部FLASH操作
四、与读写相关的寄存器说明
五、库函数介绍
操作训练
任务一 将数据存储到外置存储器AT24Cxx(选学)
任务二 将数据存储到内部闪存(选学)
思考与练习
项目十 低功耗模式的实现
项目简介
相关知识
操作训练
任务 进入与退出低功耗模式
思考与练习
项目十一 实时操作系统uC/OS-II的实现
项目简介
相关知识
一、uC/OS-II内核介绍
二、uC/OS-II的文件结构
三、相关概念-事件、信号量、邮箱
操作训练
任务一 双任务系统
任务二 四任务系统(选学)
任务三 信号量和邮箱(选学)
思考与练习
项目十二 实时操作系统RT-Thread的实现
项目简介
相关知识
RT-Thread简介
操作训练
任务一 从Keil MDK移植RT-Thread
任务二 添加一个线程构成双线程系统
任务三 多线程系统及线程间通信举例
思考与练习
第三部分 基于HAL库的综合应用案例
应用案例一 DHT11温湿度测量
案例简介
相关知识
一、DHT11温湿度传感器简介
二、宏语句简介
三、HAL库方式的微秒延时函数
四、使用HAL库驱动DHT11程序
五、TFTLCD程序的添加
操作训练
任务 读取温湿度并TFTLCD显示(USART1传输)
思考与练习
应用案例二 WiFi通信
案例简介
相关知识
一、ESP8266 WiFi模块
二、无线组网
操作训练
任务一 WiFi模块ESP8266的配置
任务二 通过WiFi模块发送数据到服务器
思考与练习
应用案例三 GPRS数据传输
案例简介
相关知识
一、SIM800C模块
二、AT指令
三、乐联网云平台数据交互
操作训练
任务一 使用SIM800C模块实现语音及短信通信
任务二 通过SIM800C模块发送数据到云平台
任务三 电压采集及云端显示
思考与练习
应用案例四 基于RS-485的电能数据监控
案例简介
相关知识
一、系统结构和RS-485电路
二、串口DMA发送接收
操作训练
任务一 电能表DDS238-1ZN的RS-485通信调试
任务二 编程实现电能表的RS-485通信
思考与练习
第四部分 Mbed OS拓展训练项目
拓展项目一 基于Mbed的GPIO及按键中断
项目简介
相关知识
一、Mbed在线开发编译器
二、新建STM32项目
三、导出至Keil MDK
四、转换为Keil格式项目工程
五、编译及运行
操作训练
任务一 通过Mbed实现LED灯的控制
任务二 通过中断按键控制LED灯
思考与练习
拓展项目二 基于Mbed的UART通信
项目简介
相关知识
一、Serial类
二、发送数据
操作训练
任务 串口发送字符串数据
思考与练习
拓展项目三 基于Mbed的定时器
项目简介
相关知识
一、Ticker类
二、TimeOut类
三、PWMOut类
操作训练
任务一 定时器控制LED闪烁
任务二 PWM输出
思考与练习
拓展项目四 Mbed OS多线程构建
项目简介
相关知识
操作训练
任务 多线程构建
思考与练习
附录1 C语言基础
附录2 ASCII表
附录3 电路原理图
参考文献
前辅文
第一部分 基础知识
第一章 ARM基础知识
1.1 嵌入式系统简介
1.2 指令集
1.3 STM32F10x系列芯片简介
1.4 STM32F10x系列芯片的系统架构及总线
1.5 STM32F10x系列芯片的时钟系统
1.6 ARM嵌入式软件系统
思考与练习
第二章 编程软件及实验平台资源
2.1 STM32寄存器及库函数
2.2 STM32CubeMX软件简介及人门训练
2.3 Keil MDK简介及基本配置
2.4电路原理
2.5本书学习内容安排
思考与练习
第二部分 基于HAL库的基本编程训练项目
项目一 GPIO端口的输出及按键输入
项目简介
相关知识
一、端口、引脚及输入输出模式
二、APB2外设时钟使能寄存器(RCC_APB2ENR)
三、端口配置寄存器(GPIOx_CRL和GPIOx_CRH)
四、端口输出数据寄存器(GPIOx_ODR
五、端口输入数据寄存器(GPIOx_IDR)
六、端口复位寄存器(GPIOx_BRR)
七、端口置位/清除寄存器(GPIOx_BSRR)
操作训练
任务一 通过调用库函数控制LED灯
任务二 通过按键控制LED灯
思考与练习
项目二 外部输入中断及应用
项目简介
相关知识
一、中断的概念及STM32F10x系列芯片的中断
二、STM32F10x的中断向量表
三、中断优先级
四、STM32F10x的外部中断
五、弱函数和回调函数
操作训练
任务一 外部中断输入实验
任务二 脉冲计数实验(选学)
思考与练习
项目三 串行通信及应用
项目简介
相关知识
一、串行通信简介
二、UART连接方式
三、通信帧和波特率
四、串口寄存器
操作训练
任务一 UART阻塞方式发送数据
任务二 UART阻塞方式接收数据
任务三 UART中断方式收发
任务四 串口printf()重定向
思考与练习
项目四 液晶显示
项目简介
相关知识
操作训练
任务一 TFTLCD屏驱动及测试
任务二 状态、数字及图形显示
思考与练习
项目五 模/数转换器及应用
项目简介
相关知识
一、STM32内置模数转换器简介
二、规则通道组和注入通道组
三、ADC相关寄存器
操作训练
任务一 单通道电压采集及LCD显示
任务二 多通道电压采集及串口传输
任务三 STM32F10x芯片内部温度读取
思考与练习
项目六 数/模转换器及应用
项目简介
相关知识
一、STM32F103RCT6的DAC通道
二、STM32F10x系列芯片的DAC配置基础
操作训练
任务一 DAC输出
任务二 输出三角波(选学)
任务三 输出正弦波(选学)
思考与练习
项目七 定时器及应用
项目简介
相关知识
一、STM32F10x定时器分类及时钟源介绍
二、控制STM32F10x的通用定时器的寄存器
三、PWM及相关寄存器
四、通过TIM1_CH1输出PWM的配置步骤
五、输入捕获及相关寄存器
六、库函数设置输入捕获的配置步骤
操作训练
任务一 定时器中断
任务二 PWM信号输出
任务三 输入捕获及频率测量
思考与练习
项目八 实时时钟(RTC)及应用
项目简介
相关知识
一、RTC基础知识
二、RTC编程思路
操作训练
任务一 RTC的配置及串口传输
任务二 TFTLCD显示实时时间
思考与练习
项目九 用户数据的读写
项目简介
相关知识
一、AT24Cxx简介
二、STM32内部FLASH简介
三、STM32内部FLASH操作
四、与读写相关的寄存器说明
五、库函数介绍
操作训练
任务一 将数据存储到外置存储器AT24Cxx(选学)
任务二 将数据存储到内部闪存(选学)
思考与练习
项目十 低功耗模式的实现
项目简介
相关知识
操作训练
任务 进入与退出低功耗模式
思考与练习
项目十一 实时操作系统uC/OS-II的实现
项目简介
相关知识
一、uC/OS-II内核介绍
二、uC/OS-II的文件结构
三、相关概念-事件、信号量、邮箱
操作训练
任务一 双任务系统
任务二 四任务系统(选学)
任务三 信号量和邮箱(选学)
思考与练习
项目十二 实时操作系统RT-Thread的实现
项目简介
相关知识
RT-Thread简介
操作训练
任务一 从Keil MDK移植RT-Thread
任务二 添加一个线程构成双线程系统
任务三 多线程系统及线程间通信举例
思考与练习
第三部分 基于HAL库的综合应用案例
应用案例一 DHT11温湿度测量
案例简介
相关知识
一、DHT11温湿度传感器简介
二、宏语句简介
三、HAL库方式的微秒延时函数
四、使用HAL库驱动DHT11程序
五、TFTLCD程序的添加
操作训练
任务 读取温湿度并TFTLCD显示(USART1传输)
思考与练习
应用案例二 WiFi通信
案例简介
相关知识
一、ESP8266 WiFi模块
二、无线组网
操作训练
任务一 WiFi模块ESP8266的配置
任务二 通过WiFi模块发送数据到服务器
思考与练习
应用案例三 GPRS数据传输
案例简介
相关知识
一、SIM800C模块
二、AT指令
三、乐联网云平台数据交互
操作训练
任务一 使用SIM800C模块实现语音及短信通信
任务二 通过SIM800C模块发送数据到云平台
任务三 电压采集及云端显示
思考与练习
应用案例四 基于RS-485的电能数据监控
案例简介
相关知识
一、系统结构和RS-485电路
二、串口DMA发送接收
操作训练
任务一 电能表DDS238-1ZN的RS-485通信调试
任务二 编程实现电能表的RS-485通信
思考与练习
第四部分 Mbed OS拓展训练项目
拓展项目一 基于Mbed的GPIO及按键中断
项目简介
相关知识
一、Mbed在线开发编译器
二、新建STM32项目
三、导出至Keil MDK
四、转换为Keil格式项目工程
五、编译及运行
操作训练
任务一 通过Mbed实现LED灯的控制
任务二 通过中断按键控制LED灯
思考与练习
拓展项目二 基于Mbed的UART通信
项目简介
相关知识
一、Serial类
二、发送数据
操作训练
任务 串口发送字符串数据
思考与练习
拓展项目三 基于Mbed的定时器
项目简介
相关知识
一、Ticker类
二、TimeOut类
三、PWMOut类
操作训练
任务一 定时器控制LED闪烁
任务二 PWM输出
思考与练习
拓展项目四 Mbed OS多线程构建
项目简介
相关知识
操作训练
任务 多线程构建
思考与练习
附录1 C语言基础
附录2 ASCII表
附录3 电路原理图
参考文献
前辅文
第一部分 基础知识
第一章 ARM基础知识
1.1 嵌入式系统简介
1.2 指令集
1.3 STM32F10x系列芯片简介
1.4 STM32F10x系列芯片的系统架构及总线
1.5 STM32F10x系列芯片的时钟系统
1.6 ARM嵌入式软件系统
思考与练习
第二章 编程软件及实验平台资源
2.1 STM32寄存器及库函数
2.2 STM32CubeMX软件简介及人门训练
2.3 Keil MDK简介及基本配置
2.4电路原理
2.5本书学习内容安排
思考与练习
第二部分 基于HAL库的基本编程训练项目
项目一 GPIO端口的输出及按键输入
项目简介
相关知识
一、端口、引脚及输入输出模式
二、APB2外设时钟使能寄存器(RCC_APB2ENR)
三、端口配置寄存器(GPIOx_CRL和GPIOx_CRH)
四、端口输出数据寄存器(GPIOx_ODR
五、端口输入数据寄存器(GPIOx_IDR)
六、端口复位寄存器(GPIOx_BRR)
七、端口置位/清除寄存器(GPIOx_BSRR)
操作训练
任务一 通过调用库函数控制LED灯
任务二 通过按键控制LED灯
思考与练习
项目二 外部输入中断及应用
项目简介
相关知识
一、中断的概念及STM32F10x系列芯片的中断
二、STM32F10x的中断向量表
三、中断优先级
四、STM32F10x的外部中断
五、弱函数和回调函数
操作训练
任务一 外部中断输入实验
任务二 脉冲计数实验(选学)
思考与练习
项目三 串行通信及应用
项目简介
相关知识
一、串行通信简介
二、UART连接方式
三、通信帧和波特率
四、串口寄存器
操作训练
任务一 UART阻塞方式发送数据
任务二 UART阻塞方式接收数据
任务三 UART中断方式收发
任务四 串口printf()重定向
思考与练习
项目四 液晶显示
项目简介
相关知识
操作训练
任务一 TFTLCD屏驱动及测试
任务二 状态、数字及图形显示
思考与练习
项目五 模/数转换器及应用
项目简介
相关知识
一、STM32内置模数转换器简介
二、规则通道组和注入通道组
三、ADC相关寄存器
操作训练
任务一 单通道电压采集及LCD显示
任务二 多通道电压采集及串口传输
任务三 STM32F10x芯片内部温度读取
思考与练习
项目六 数/模转换器及应用
项目简介
相关知识
一、STM32F103RCT6的DAC通道
二、STM32F10x系列芯片的DAC配置基础
操作训练
任务一 DAC输出
任务二 输出三角波(选学)
任务三 输出正弦波(选学)
思考与练习
项目七 定时器及应用
项目简介
相关知识
一、STM32F10x定时器分类及时钟源介绍
二、控制STM32F10x的通用定时器的寄存器
三、PWM及相关寄存器
四、通过TIM1_CH1输出PWM的配置步骤
五、输入捕获及相关寄存器
六、库函数设置输入捕获的配置步骤
操作训练
任务一 定时器中断
任务二 PWM信号输出
任务三 输入捕获及频率测量
思考与练习
项目八 实时时钟(RTC)及应用
项目简介
相关知识
一、RTC基础知识
二、RTC编程思路
操作训练
任务一 RTC的配置及串口传输
任务二 TFTLCD显示实时时间
思考与练习
项目九 用户数据的读写
项目简介
相关知识
一、AT24Cxx简介
二、STM32内部FLASH简介
三、STM32内部FLASH操作
四、与读写相关的寄存器说明
五、库函数介绍
操作训练
任务一 将数据存储到外置存储器AT24Cxx(选学)
任务二 将数据存储到内部闪存(选学)
思考与练习
项目十 低功耗模式的实现
项目简介
相关知识
操作训练
任务 进入与退出低功耗模式
思考与练习
项目十一 实时操作系统uC/OS-II的实现
项目简介
相关知识
一、uC/OS-II内核介绍
二、uC/OS-II的文件结构
三、相关概念-事件、信号量、邮箱
操作训练
任务一 双任务系统
任务二 四任务系统(选学)
任务三 信号量和邮箱(选学)
思考与练习
项目十二 实时操作系统RT-Thread的实现
项目简介
相关知识
RT-Thread简介
操作训练
任务一 从Keil MDK移植RT-Thread
任务二 添加一个线程构成双线程系统
任务三 多线程系统及线程间通信举例
思考与练习
第三部分 基于HAL库的综合应用案例
应用案例一 DHT11温湿度测量
案例简介
相关知识
一、DHT11温湿度传感器简介
二、宏语句简介
三、HAL库方式的微秒延时函数
四、使用HAL库驱动DHT11程序
五、TFTLCD程序的添加
操作训练
任务 读取温湿度并TFTLCD显示(USART1传输)
思考与练习
应用案例二 WiFi通信
案例简介
相关知识
一、ESP8266 WiFi模块
二、无线组网
操作训练
任务一 WiFi模块ESP8266的配置
任务二 通过WiFi模块发送数据到服务器
思考与练习
应用案例三 GPRS数据传输
案例简介
相关知识
一、SIM800C模块
二、AT指令
三、乐联网云平台数据交互
操作训练
任务一 使用SIM800C模块实现语音及短信通信
任务二 通过SIM800C模块发送数据到云平台
任务三 电压采集及云端显示
思考与练习
应用案例四 基于RS-485的电能数据监控
案例简介
相关知识
一、系统结构和RS-485电路
二、串口DMA发送接收
操作训练
任务一 电能表DDS238-1ZN的RS-485通信调试
任务二 编程实现电能表的RS-485通信
思考与练习
第四部分 Mbed OS拓展训练项目
拓展项目一 基于Mbed的GPIO及按键中断
项目简介
相关知识
一、Mbed在线开发编译器
二、新建STM32项目
三、导出至Keil MDK
四、转换为Keil格式项目工程
五、编译及运行
操作训练
任务一 通过Mbed实现LED灯的控制
任务二 通过中断按键控制LED灯
思考与练习
拓展项目二 基于Mbed的UART通信
项目简介
相关知识
一、Serial类
二、发送数据
操作训练
任务 串口发送字符串数据
思考与练习
拓展项目三 基于Mbed的定时器
项目简介
相关知识
一、Ticker类
二、TimeOut类
三、PWMOut类
操作训练
任务一 定时器控制LED闪烁
任务二 PWM输出
思考与练习
拓展项目四 Mbed OS多线程构建
项目简介
相关知识
操作训练
任务 多线程构建
思考与练习
附录1 C语言基础
附录2 ASCII表
附录3 电路原理图
参考文献
前辅文
第一部分 基础知识
第一章 ARM基础知识
1.1 嵌入式系统简介
1.2 指令集
1.3 STM32F10x系列芯片简介
1.4 STM32F10x系列芯片的系统架构及总线
1.5 STM32F10x系列芯片的时钟系统
1.6 ARM嵌入式软件系统
思考与练习
第二章 编程软件及实验平台资源
2.1 STM32寄存器及库函数
2.2 STM32CubeMX软件简介及人门训练
2.3 Keil MDK简介及基本配置
2.4电路原理
2.5本书学习内容安排
思考与练习
第二部分 基于HAL库的基本编程训练项目
项目一 GPIO端口的输出及按键输入
项目简介
相关知识
一、端口、引脚及输入输出模式
二、APB2外设时钟使能寄存器(RCC_APB2ENR)
三、端口配置寄存器(GPIOx_CRL和GPIOx_CRH)
四、端口输出数据寄存器(GPIOx_ODR
五、端口输入数据寄存器(GPIOx_IDR)
六、端口复位寄存器(GPIOx_BRR)
七、端口置位/清除寄存器(GPIOx_BSRR)
操作训练
任务一 通过调用库函数控制LED灯
任务二 通过按键控制LED灯
思考与练习
项目二 外部输入中断及应用
项目简介
相关知识
一、中断的概念及STM32F10x系列芯片的中断
二、STM32F10x的中断向量表
三、中断优先级
四、STM32F10x的外部中断
五、弱函数和回调函数
操作训练
任务一 外部中断输入实验
任务二 脉冲计数实验(选学)
思考与练习
项目三 串行通信及应用
项目简介
相关知识
一、串行通信简介
二、UART连接方式
三、通信帧和波特率
四、串口寄存器
操作训练
任务一 UART阻塞方式发送数据
任务二 UART阻塞方式接收数据
任务三 UART中断方式收发
任务四 串口printf()重定向
思考与练习
项目四 液晶显示
项目简介
相关知识
操作训练
任务一 TFTLCD屏驱动及测试
任务二 状态、数字及图形显示
思考与练习
项目五 模/数转换器及应用
项目简介
相关知识
一、STM32内置模数转换器简介
二、规则通道组和注入通道组
三、ADC相关寄存器
操作训练
任务一 单通道电压采集及LCD显示
任务二 多通道电压采集及串口传输
任务三 STM32F10x芯片内部温度读取
思考与练习
项目六 数/模转换器及应用
项目简介
相关知识
一、STM32F103RCT6的DAC通道
二、STM32F10x系列芯片的DAC配置基础
操作训练
任务一 DAC输出
任务二 输出三角波(选学)
任务三 输出正弦波(选学)
思考与练习
项目七 定时器及应用
项目简介
相关知识
一、STM32F10x定时器分类及时钟源介绍
二、控制STM32F10x的通用定时器的寄存器
三、PWM及相关寄存器
四、通过TIM1_CH1输出PWM的配置步骤
五、输入捕获及相关寄存器
六、库函数设置输入捕获的配置步骤
操作训练
任务一 定时器中断
任务二 PWM信号输出
任务三 输入捕获及频率测量
思考与练习
项目八 实时时钟(RTC)及应用
项目简介
相关知识
一、RTC基础知识
二、RTC编程思路
操作训练
任务一 RTC的配置及串口传输
任务二 TFTLCD显示实时时间
思考与练习
项目九 用户数据的读写
项目简介
相关知识
一、AT24Cxx简介
二、STM32内部FLASH简介
三、STM32内部FLASH操作
四、与读写相关的寄存器说明
五、库函数介绍
操作训练
任务一 将数据存储到外置存储器AT24Cxx(选学)
任务二 将数据存储到内部闪存(选学)
思考与练习
项目十 低功耗模式的实现
项目简介
相关知识
操作训练
任务 进入与退出低功耗模式
思考与练习
项目十一 实时操作系统uC/OS-II的实现
项目简介
相关知识
一、uC/OS-II内核介绍
二、uC/OS-II的文件结构
三、相关概念-事件、信号量、邮箱
操作训练
任务一 双任务系统
任务二 四任务系统(选学)
任务三 信号量和邮箱(选学)
思考与练习
项目十二 实时操作系统RT-Thread的实现
项目简介
相关知识
RT-Thread简介
操作训练
任务一 从Keil MDK移植RT-Thread
任务二 添加一个线程构成双线程系统
任务三 多线程系统及线程间通信举例
思考与练习
第三部分 基于HAL库的综合应用案例
应用案例一 DHT11温湿度测量
案例简介
相关知识
一、DHT11温湿度传感器简介
二、宏语句简介
三、HAL库方式的微秒延时函数
四、使用HAL库驱动DHT11程序
五、TFTLCD程序的添加
操作训练
任务 读取温湿度并TFTLCD显示(USART1传输)
思考与练习
应用案例二 WiFi通信
案例简介
相关知识
一、ESP8266 WiFi模块
二、无线组网
操作训练
任务一 WiFi模块ESP8266的配置
任务二 通过WiFi模块发送数据到服务器
思考与练习
应用案例三 GPRS数据传输
案例简介
相关知识
一、SIM800C模块
二、AT指令
三、乐联网云平台数据交互
操作训练
任务一 使用SIM800C模块实现语音及短信通信
任务二 通过SIM800C模块发送数据到云平台
任务三 电压采集及云端显示
思考与练习
应用案例四 基于RS-485的电能数据监控
案例简介
相关知识
一、系统结构和RS-485电路
二、串口DMA发送接收
操作训练
任务一 电能表DDS238-1ZN的RS-485通信调试
任务二 编程实现电能表的RS-485通信
思考与练习
第四部分 Mbed OS拓展训练项目
拓展项目一 基于Mbed的GPIO及按键中断
项目简介
相关知识
一、Mbed在线开发编译器
二、新建STM32项目
三、导出至Keil MDK
四、转换为Keil格式项目工程
五、编译及运行
操作训练
任务一 通过Mbed实现LED灯的控制
任务二 通过中断按键控制LED灯
思考与练习
拓展项目二 基于Mbed的UART通信
项目简介
相关知识
一、Serial类
二、发送数据
操作训练
任务 串口发送字符串数据
思考与练习
拓展项目三 基于Mbed的定时器
项目简介
相关知识
一、Ticker类
二、TimeOut类
三、PWMOut类
操作训练
任务一 定时器控制LED闪烁
任务二 PWM输出
思考与练习
拓展项目四 Mbed OS多线程构建
项目简介
相关知识
操作训练
任务 多线程构建
思考与练习
附录1 C语言基础
附录2 ASCII表
附录3 电路原理图
参考文献














