《嵌入式技术基础与实践项目化教程 ――基于ARM CORTEX-M4内核STM32L431微控制器》王宜怀 索明何 王玉丽 | PDF下载|ePub下载
嵌入式技术基础与实践项目化教程 ――基于ARM CORTEX-M4内核STM32L431微控制器 版权信息
- 出版社:机械工业出版社
- 出版时间:2023-04-01
- ISBN:9787111707035
- 条形码:9787111707035 ; 978-7-111-70703-5
嵌入式技术基础与实践项目化教程 ――基于ARM CORTEX-M4内核STM32L431微控制器 本书特色
1)把握通用知识与芯片相关知识之间的平衡。书中对于嵌入式“通用知识”的基本原理,以应用为立足点,进行语言简洁、逻辑清晰的阐述,同时注意与芯片相关知识之间的衔接,使读者在理解基本原理的基础上,学习芯片应用的设计,同时反过来加深对通用知识的理解。2)把握硬件与软件的关系。嵌入式系统是软件与硬件的综合体,嵌入式系统设计是一个软件与硬件协同设计的工程,不能像通用计算机那样,把软件、硬件完全分开来看。特别是对电子系统智能化嵌入式应用来说,没有对硬件的理解就不可能设计好嵌入式软件,同样,没有对软件的理解也不可能设计好嵌入式硬件。因此,本书注重把握硬件知识与软件知识之间的关系。3)对底层驱动进行构件化封装。书中对每个模块均给出根据嵌入式软件工程基本原则及构件化封装要求编制的底层驱动程序,同时给出详细、规范的注释及对外接口,为实际应用提供底层构件,方便移植与复用,从而为读者进行实际项目开发节省大量时间。4)设计合理的测试用例。书中所有源程序均经测试通过,并在本书的在线教学资源中提供测试用例,避免了因例程的书写或固有错误给读者带来烦恼。这些测试用例也为读者验证与理解带来方便。5)在线教学资源提供了所有模块完整的底层驱动构件化封装程序与测试用例、芯片资料、使用文档、硬件说明等,还制作了课件,在线教学资源的版本将会适时更新。
嵌入式技术基础与实践项目化教程 ――基于ARM CORTEX-M4内核STM32L431微控制器 内容简介
本书采用项目化教学方式,以“项目、任务、活动”理实一体教学模式呈现教学内容。按照循序渐进、搭积木的设计思想,共设计了10个项目:初识嵌入式系统、闪灯的设计与实现、利用UART实现上位机和下位机的通信、利用定时中断实现频闪灯和电子时钟、利用PWM实现小灯亮度控制、利用输入捕捉测量脉冲信号的周期和脉宽、利用ADC设计简易数字电压表、SPI串行通信的实现、I2C串行通信的实现、利用TSC实现触摸感应功能。其中,第1个项目旨在帮助读者初步认识嵌入式系统;其余项目均基于构件化设计,且均采用“通用知识”→“底层驱动构件的使用”→“应用层程序设计”→“拓展任务”的学习流程。*后可根据教学需要,选择部分项目或全部项目进行综合应用系统设计和课程考核。为了方便教学和读者自学,本书配有在线教学资源,包括芯片资料、使用文档、硬件说明、源程序等。
嵌入式技术基础与实践项目化教程 ――基于ARM CORTEX-M4内核STM32L431微控制器 目录
前言
硬件资源及在线教学资源
二维码资源清单
项目1 初识嵌入式系统1
任务1.1 运行硬件系统1
1.1.1 实践体系简介1
1.1.2 编译、下载与运行**个嵌入式程序4
任务1.2 熟悉嵌入式系统的定义、发展简史、分类及特点5
1.2.1 嵌入式系统的定义5
1.2.2 嵌入式系统的发展简史7
1.2.3 嵌入式系统的分类10
1.2.4 嵌入式系统的特点11
任务1.3 熟悉嵌入式系统的学习方法12
1.3.1 嵌入式系统的学习困惑12
1.3.2 嵌入式系统的知识体系16
1.3.3 基础阶段的学习建议17
任务1.4 掌握以MCU为核心的嵌入式系统组成19
1.4.1 MCU简介19
1.4.2 以MCU为核心的嵌入式测控产品的基本组成20
【拓展任务】22
项目2 闪灯的设计与实现23
任务2.1 STM32L431硬件*小系统设计23
2.1.1 STM32系列MCU简介23
2.1.2 ARM Cortex-M4微处理器简介24
2.1.3 STM32L431存储映像、引脚功能与硬件*小系统设计27
任务2.2 由MCU构建通用嵌入式计算机34
2.2.1 嵌入式终端开发方式存在的问题与解决办法34
2.2.2 提出GEC概念的时机、GEC定义与特点35
2.2.3 由STM32L431构成的GEC37
任务2.3 GPIO底层驱动构件文件的使用41
2.3.1 GPIO的通用知识41
2.3.2 STM32L431的GPIO底层驱动构件文件及使用方法43
任务2.4 嵌入式构件化设计及闪灯的实现48
2.4.1 小灯硬件构件的设计及使用方法48
2.4.2 嵌入式软件*小系统49
2.4.3 闪灯的应用层程序设计及效果测试51
【拓展任务】54
项目3 利用UART实现上位机和下位机的通信55
任务3.1 熟知UART的通用知识55
3.1.1 串行通信的基本概念55
3.1.2 TTL-USB串口58
3.1.3 串行通信编程模型59
任务3.2 熟知中断的通用知识60
3.2.1 中断的基本概念60
3.2.2 中断的基本过程65
3.2.3 ARM Cortex-M4的非内核模块中断编程结构66
任务3.3 UART底层驱动构件的使用67
3.3.1 STM32L431的UART模块67
3.3.2 UART底层驱动构件文件的组成及使用方法68
任务3.4 PC与MCU的串口通信与调试71
3.4.1 UART通信的应用层程序设计71
3.4.2 使用printf函数输出数据74
【拓展任务】75
项目4 利用定时中断实现频闪灯和电子时钟76
任务4.1 利用Timer中断实现频闪灯和电子时钟76
4.1.1 Timer基本定时底层驱动构件文件的组成及使用方法77
4.1.2 利用Timer中断实现频闪灯和电子时钟的应用层程序设计79
任务4.2 利用内核定时器中断实现频闪灯和电子时钟83
4.2.1 SysTick定时器底层驱动构件文件组成及使用方法83
4.2.2 利用SysTick中断实现频闪灯和电子时钟的应用层程序设计84
【拓展任务】86
项目5 利用PWM实现小灯亮度控制87
任务5.1 熟知PWM的通用知识87
5.1.1 PWM的基本概念与技术指标87
5.1.2 PWM的应用场合90
任务5.2 Timer_PWM底层驱动构件的使用91
5.2.1 STM32L431的PWM引脚91
5.2.2 PWM底层驱动构件头文件及使用方法92
任务5.3 PWM应用层程序设计与测试93
5.3.1 PWM应用层程序设计93
5.3.2 PWM应用层程序测试95
【拓展任务】95
项目6 利用输入捕捉测量脉冲信号的周期和脉宽96
任务6.1 熟知输出比较和输入捕捉的通用知识96
6.1.1 输出比较的基本含义、原理和应用场合96
6.1.2 输入捕捉的基本含义、原理和应用场合96
任务6.2 输出比较和输入捕捉底层驱动构件的使用97
6.2.1 STM32L431的输出比较和输入捕捉引脚97
6.2.2 输出比较底层驱动构件头文件及使用方法98
6.2.3 输入捕捉底层驱动构件头文件及使用方法100
任务6.3 输出比较和输入捕捉功能的应用层程序设计与测试102
6.3.1 输出比较和输入捕捉应用层程序设计102
6.3.2 输出比较和输入捕捉应用层程序
测试105
【拓展任务】105
项目7 利用ADC设计简易数字电压表106
任务7.1 熟知ADC的通用知识106
7.1.1 模拟量、数字量及模/数转换器的基本含义106
7.1.2 与A/D转换编程相关的技术指标107
任务7.2 ADC底层驱动构件的使用111
7.2.1 STM32L431芯片的ADC引脚111
7.2.2 ADC底层驱动构件头文件及使用方法112
任务7.3 简易数字电压表的设计114
7.3.1 简易数字电压表的硬件电路组成和工作原理114
7.3.2 ADC应用层程序设计与测试115
【拓展任务】118
项目8 SPI串行通信的实现119
任务8.1 熟知SPI的通用知识119
8.1.1 SPI的基本概念119
8.1.2 SPI的数据传输原理和时序120
任务8.2 SPI底层驱动构件的使用122
8.2.1 STM32L431的SPI引脚122
8.2.2 SPI底层驱动构件头文件及使用方法123
任务8.3 SPI串行通信的应用层程序设计与测试126
8.3.1 SPI串行通信的应用层程序设计126
8.3.2 SPI串行通信的应用层程序测试128
【拓展任务】129
项目9 I2C串行通信的实现130
任务9.1 熟知I2C的通用知识130
9.1.1 I2C总线的历史概况与特点130
9.1.2 I2C总线硬件相关术语与典型硬件电路131
9.1.3 I2C总线数据通信协议132
任务9.2 I2C底层驱动构件的使用136
9.2.1 STM32L431的I2C引脚136
9.2.2 I2C底层驱动构件头文件及使用方法137
任务9.3 I2C串行通信的应用层程序设计与测试140
9.3.1 I2C串行通信的应用层程序设计140
9.3.2 I2C串行通信的应用层程序测试143
【拓展任务】144
项目10 利用TSC实现触摸感应功能145
任务10.1 熟知触摸感应控制器TSC的通用知识145
10.1.1 触摸感应控制器TSC的基本原理145
10.1.2 有关技术问题进一步说明146
任务10.2 TSC底层驱动构件的使用147
10.2.1 STM32L431的TSC框图和TSC引脚147
10.2.2 TSC底层驱动构件头文件及使用方法148
任务10.3 TSC实现触摸感应功能的应用层程序设计与测试150
10.3.1 TSC实现触摸感应功能的应用层程序设计150
10.3.2 TSC实现触摸感应功能的应用层程序测试154
【拓展任务】154
参考文献 168
嵌入式技术基础与实践项目化教程 ――基于ARM CORTEX-M4内核STM32L431微控制器 作者简介
王宜怀,苏州大学计算机科学与技术学院教授、博士生导师、网络工程系主任;苏州大学嵌入式系统与物联网研究所所长;苏州市政协常委;江苏省计算机学会嵌入式系统与物联网专业委员会主任、中国软件行业协会嵌入式系统分会理事。