原子教你学STM32(HAL库版)》分为上、下两册。本书是上册,分为基础篇和实战篇,详细介绍了STM32F103的基础入门知识,包括STM32简介、开发环境搭建、新建HAL库版本MDK工程、STM32时钟配置以及STM32F103常用外设的使用,包括外部中断、定时器、DMA、内部温度传感器等。
下册详细介绍了STM32F103复杂外设的使用及一些高级例程,包括触摸屏、无线通信、SD卡、USB读卡器等。建议初学者从上册开始,跟随书中的结构安排,循序渐进地学习。对于有一定基础的读者,可以直接选择下册,进入复杂外设的学习过程。
本书配套资料包含详细原理图以及所有实例的完整代码,这些代码都有详细的注释。另外,源码有生成好的hex文件,读者只需要通过仿真器下载到开发板即可看到实验现象,亲自体验实验过程。
本书不仅非常适合广大学生和电子爱好者学习STM32,其大量的实验以及详细的解说也可供公司产品开发人员参考。
第1篇基础篇
第1章本书学习方法2
第2章STM32简介7
2.1初识STM327
2.2STM32F103资源简介8
2.3STM32F103设计选型9
2.3.1STM32系列9
2.3.2STM32命名10
2.3.3STM32选型11
2.3.4STM32设计11
第3章开发环境搭建16
3.1常用开发工具简介16
3.2MDK安装16
3.3仿真器驱动安装17
3.4CH340 USB虚拟串口驱动安装18
第4章STM32初体验19
4.1使用MDK5编译例程19
4.2使用串口下载程序22
4.3使用DAP下载与调试程序26
4.3.1使用DAP下载程序27
4.3.2使用DAP仿真调试程序29
4.3.3仿真调试注意事项34
4.4MDK5使用技巧35
4.4.1文本美化35
4.4.2语法检测&代码提示38
4.4.3代码编辑技巧39
4.4.4其他小技巧44
第5章STM32基础知识入门46
5.1C语言基础知识复习46
5.2寄存器基础知识51
5.3STM32F103系统架构52
5.3.1CortexM3内核&芯片52
5.3.2STM32系统架构53
5.3.3存储器映射55
5.3.4寄存器映射58
第6章认识HAL库63
6.1初识STM32 HAL库63
6.1.1CMSIS标准63
6.1.2HAL库简介65
6.1.3HAL库能做什么66
6.2HAL库驱动包67
6.2.1如何获取HAL库固件包67
6.2.2STM32Cube固件包分析69
6.2.3CMSIS文件夹关键文件71
6.2.4stdint.h简介73
6.3HAL库框架结构74
6.3.1HAL库文件夹结构74
6.3.2HAL库文件74
6.4如何使用HAL库78
6.4.1学会用HAL库组织开发工具链78
6.4.2HAL库的用户配置文件80
6.4.3stm32f1xx_hal.c文件83
6.4.4HAL库中断处理87
6.4.5正点原子对HAL库用法的个性化修改88
6.5HAL库使用注意事项88
第7章新建HAL库版本MDK工程90
7.1新建HAL库版本MDK工程简介90
7.1.1新建工程文件夹90
7.1.2新建一个工程框架94
7.1.3添加文件97
7.1.4魔术棒设置101
7.1.5添加main.c并编写代码106
7.2下载验证109
第8章STM32启动过程分析110
8.1启动模式110
8.2启动文件分析111
8.2.1启动文件中的一些指令112
8.2.2启动文件代码讲解114
8.2.3系统启动流程119
8.3map文件分析121
8.3.1MDK编译生成文件121
8.3.2map文件分析123
第9章STM32时钟配置127
9.1认识时钟树127
9.1.1时钟源128
9.1.2锁相环PLL129
9.1.3系统时钟SYSCLK130
9.1.4时钟信号输出MCO132
9.2如何修改主频133
9.2.1STM32F1时钟系统配置133
9.2.2STM32F1时钟使能和配置138
第10章SYSTEM文件夹140
10.1delay文件夹代码140
10.1.1操作系统支持宏定义及相关函数141
10.1.2delay_init函数143
10.1.3delay_us函数145
10.1.4delay_ms函数147
10.1.5HAL库延时函数HAL_Delay148
10.2sys文件夹代码149
10.3usart文件夹代码149
第2篇实战篇
第11章跑马灯实验154
第12章蜂鸣器实验171
第13章按键输入实验175
第14章外部中断实验183
第15章串口通信实验197
第16章独立看门狗(IWDG)实验220
第17章基本定时器实验227
第18章通用定时器实验238
第19章电容触摸按键实验269
第20章TFTLCD(MCU屏)实验277
第21章RTC实时时钟实验310
第22章低功耗实验328
第23章DMA实验338
第24章ADC实验352
第25章内部温度传感器实验383
第26章光敏传感器实验388
第27章DAC实验393
参考文献420