这是一本介绍如何使用STM32Cube组件学习STM32微控制器的入门图书,也是一名工程师自身学习STM32微控制器的经验总结。全书围绕STM32F10×××参考手册,结合STM32CubeF1软件包提供的例程,参考Cortex-M3编程手册等资料,全面、系统地对STM32F103的各个功能项进行分析和讲解,并通过可视化图形配置工具STM32CubeMX重新生成例程。本书介绍的学习方法几乎可以适用于任何一款STM32微控制器的芯片。 本书适合STM32微控制器初学者和使用STM32微控制器从事项目开发的工程技术人员阅读使用,也可以作为高等学校自动控制、智能仪器仪表、电力电子、机电一体化等相关专业的教学用书。
杨百军,笔名老杨,曾就职于中航工业集团,主要研究微控制器、微处理器及嵌入式系统的移植与优化,具有丰富的传感器与检测技术、生物识别技术、远程无线抄表技术及锂电池管理系统(BMS)的开发与教学经验。
第1章 选择开发板
1.1 ST公司的STM32开发板
1.2 国产的STM32开发板
1.3 Nucleo-F103RB开发板
思考与练习
第2章 走近STM32
2.1 认识STM32
2.2 STM32与Cortex-M3的关系
2.3 Cortex-M3与ARM
思考与练习
第3章 认识MDK-ARM
3.1 开发工具介绍
3.2 MDK-ARM的安装与注册
3.2.1 MDK-ARM的安装
3.2.2 注册MDK-ARM
3.3 从例程入手
3.3.1 了解MDK-ARM
3.3.2 例程Blinky
思考与练习
第4章 初识STM32Cube
4.1 STM32CubeMX
4.2 STM32Cube软件包
4.3 STM32CubeF1软件包的例程
思考与练习
第5章 跑马灯实验
5.1 例程GPIO_IOToggle
5.2 分析例程GPIO_IOToggle
5.2.1 解析HAL_Init函数
5.2.2 解析SystemClock_Config函数
5.2.3 解析LED2_GPIO_CLK_ENABLE函数
5.2.4 解析HAL_GPIO_Init函数
5.2.5 为何LED能闪烁
5.3 新建例程
5.3.1 重建例程
5.3.2 完善例程
思考与练习
第6章 外部中断
6.1 例程GPIO_EXTI
6.2 分析例程
6.2.1 分析例程GPIO_EXTI
6.2.2 解析stm32f10x_it.c
6.3 移植例程
6.3.1 新建例程MyEXTI
6.3.2 外部中断小结
6.3.3 硬件仿真
思考与练习
第7章 串口通信
7.1 例程UART_Printf
7.1.1 使用例程
7.1.2 新建例程
7.1.3 分析例程
7.2 例程ComPolling
7.2.1 例程介绍
7.2.2 分析例程
7.2.3 重建例程
7.3 例程UART_TwoBoards_ComIT
7.3.1 例程介绍
7.3.2 分析例程
7.3.3 重建例程
7.3.4 完善例程
思考与练习
第8章 DMA控制器
8.1 认识DMA控制器
8.2 例程UART_HyperTerminal_DMA
8.2.1 例程介绍
8.2.2 分析例程
8.2.3 重建例程
思考与练习
第9章 完美定时器
9.1 例程TIM_TimeBase
9.1.1 例程介绍
9.1.2 分析例程
9.1.3 重建例程
9.2 例程TIM_DMA
9.2.1 例程介绍
9.2.2 分析例程
9.2.3 重建例程
思考与练习
第10章 模/数转换器(ADC)
10.1 了解ADC
10.2 例程ADC_Sequencer
10.2.1 例程介绍
10.2.2 分析例程
10.2.3 重建例程
思考与练习
第11章 实时操作系统FreeRTOS
11.1 了解操作系统
11.2 例程FreeRTOS_ThreadCreation
11.2.1 例程介绍
11.2.2 分析例程
11.2.3 重建例程
11.2.4 完善例程
11.2.5 扩展例程
思考与练习
参考文献