![]()
内容推荐 本书围绕STM32F103VET6单片机的内部结构、相关资源以及应用展开介绍。全书共包含15个模块和19个例程。介绍的STM32资源主要是开发中经常用到的,主要有GPIO口、串口、中断、定时器、存储器结构、时钟系统、A/D转换、D/A转换、DMA传输、实时时钟、独立看门狗、低功耗模式、内部Flash的读写应用等。全书采用模块化结构,对各个复杂模块(比如定时器)进行碎片化分解并分析;对难以理解的模块(比如RTC的HAL库的函数特性、DMA的半传输和完全传输、HAL库中中断的执行流程)进行详细分析。 本书配套资源丰富,包括开发板、教学课件、视频教程、C语言源程序文件、习题库等,请发送邮件至good-textbook@126.com申请索取。视频教程中的所有例程均手把手指导操作,以帮助读者快速入门。 本书适合作为高等职业院校相关专业教材,也可作为相关技术人员的参考用书。 目录 模块1 STM32开发入门基础知识 1.1 STM32单片机基础知识 1.1.1 单片机概念 1.1.2 STM32单片机分类及其特点 1.1.3 STM32单片机的开发方法 1.1.4 STM32的开发步骤 1.2 STM32开发依托的硬件平台——STM32最小系统 1.3 STM32软件平台 思考与练习 模块2 STM32的GPIO口输出功能及其应用 2.1 STM32F103VET6引脚结构 2.2 STM32的引脚输出功能 2.2.1 GPIO口的内部结构 2.2.2 保护二极管的作用 2.2.3 GPIO口的输出通道 2.2.4 GPIO引脚如何输出0和1? 2.2.5 GPIO口输出功能的使用示例 2.3 结论及注意事项 思考与练习 模块3 GPIO口的输入功能及其应用 3.1 GPIO口的输入通道 3.2 机械按键状态识别 3.2.1 机械按键电路设计 3.2.2 机械按键状态识别函数的思路设计 3.3 按键状态判断实验 3.4 按键识别实验用到的HAL库函数 3.5 GPIO输入功能总结 思考与练习 模块4 STM32的时钟系统及其配置原理 4.1 单片机中时钟系统的作用 4.2 STM32的时钟系统 思考与练习 模块5 STM32的中断及外部中断的实现 5.1 中断基础知识 5.1.1 中断的作用 5.1.2 中断涉及的概念 5.1.3 STM32中断的分层设计 5.2 STM32的外部中断 5.3 外部中断应用示例 5.4 HAL库中中断函数的执行流程 5.5 外部中断实验中涉及的HAL库的函数/宏及其他相美知识 5.6 结论及注意事项 思考与练习 模块6 STM32的串口及其应用 6.1 串口基础知识 6.2 STM32F103VET6的串口及其应用 6.2.1 USART1与计算机通信的硬件连接电路 6.2.2 USART1和计算机通信示例 6.2.3 串口数据收发的3种方式 6.2.4 串口句柄变量及其初始化 6.2.5 使用中断方式发送数据示例 6.2.6 中断方式接收数据实验 6.3 MDK中printf()函数的使用——串口重定向 6.4 自定义帧格式传输 思考与练习 模块7 STM32定时器及其应用 7.1 STM32F103VET6定时器概述 7.2 TIM定时器的时基单元 7.3 STM32定时器的应用 7.3.1 定时器中断 7.3.2 HAL库中定时器溢出中断的使能与响应 7.3.3 定时器的PwM功能 7.3.4 HAL库中PWM模式下轮询方式启动函数的功能 7.3.5 输入捕获的原理 7.3.6 输入捕获实验——测量信号周期(频率) 7.3.7 影子寄存器和第1次溢出中断出错的解决方法 思考与练习 模块8 STM32的存储器结构 8.1 存储器基础知识 8.2 CPU和存储器的数据交互 8.3 STM32的存储器部件 8.4 与存储器操作相关的C语言中的修饰符 思考与练习 模块9 STM32的ADC及其应用 9.1 A/D转换的作用 9.2 A/D转换的过程 9.3 STM32F103VET6的A/D转换模块的应用 思考与练习 模块10 STM32的DAC及其应用 10.1 D/A转换的作用 10.2 STM32的D/A模块结构图及其在STM32CubeMX中的设置 10.3 STM32的D/A模块的应用 思考与练习 模块11 STM32的DMA及其应用 11.1 DMA的作用 11.2 深入了解STM32的DMA 11.2.1 DMA传输的来由 11.2.2 STM32的系统结构 11.2.3 STM32的DMA内部结构 11.2.4 DMA传输的请求源 11.2.5 DMA中的通道传输控制和通道的初始化 11.3 STM32的DMA模块设置 11.3.1 STM32CubeMX中DMA控制器的请求源设置 11.3.2 STM32CubeMX中DMA模块传输参数的设置 11.3.3 STM32CubeMX生成工程中DMA的初始化 11.4 DMA中断 11.4.1 DMA中断的使能 11.4.2 DMA中断的响应 11.4.3 DMA中断的应用 思考与练习 模块12 STM32的实时时钟原理及其应用 12.1 实时时钟的作用 12.2 STM32的实时时钟模块 12.3 RTC实时时钟模块的应用 12.4 复位后日历重新初始化的解决 12.4.1 复位后时间和日历重新被设置的原因 12.4.2 后备区域访问 12.4.3 HAL库提供的RTC初始化函数HAL_RTC_Init() 12.5 深入了解HAL库读写RTC的函数 12.5.1 设置时间函数HAL_RTC_SetTime() 12.5.2 设置日期函数HAL_RTC_SetDate() 12.5.3 读取时间函数HAL_RTC_GetTime() 12.5.4 读日期函数HAL_RTC_GetDate() 12.5.5 日期更新函数RTC DateUpdate() 12.6 日常日历功能的实现 思考与练习 模块13 STM32的独立看门狗的工作原理及其应用 13.1 独立看门狗的作用 13.2 独立看门狗应用示例 13.3 HAL库中看门狗设置相关函数 思考与练习 模块14 STM32的待机功能 14.1 STM32的低功耗模式 14.1.1 低功耗模式的用途 14.1.2 STM32的3种低功耗模式及其区别 14.2 待机模式示例 思考与练习 模块15 STM32 Flash的读写 15.1 STM32的Flash 15.1.1 概述 15.1.2 存储器的结构 15.2 Flash读写示例 15.3 HAL库中操作Fla |