- ## 硬件篇
USB串口驱动安装
-
· USB串口作用 1. 可以当串口使用 2. 如果USB串口连接到STM32的串口1(STM32 ISP下载只能是串口1)的话,那么可以用来串口下载程序 3. 因为要连接到USB,所以可以用来USB供电
库函数和寄存器的区别?
-
本质上是一样的。我们可以在库函数模板里面,直接操作寄存器,因为官方库相关头文件有寄存器定义。但是不能在寄存器模板调用库函数,因为没有引入库函数相关定义。 了解寄存器基本原理的目的是为了让我们对STM32相关知识有比较深入的理解,这样在开发过程中方可得心应手,游刃有余。底层代码配置出了问题需要调试的话,必须对寄存器有一定的了解才能找到问题,因为调试代码,底层只能查看寄存器相关配置。 ST推出官方固件库,固件库将这些寄存器底层操作都封装起来,提供一整套接口API供开发者调用,大多数场合下,你不需要知道操作的是哪个寄存器,你只需要知道调用哪些函数即可。
工程目录
-
1. Core用来存放核心文件和启动文件 2. Obj用来存放编译过程文件以及hex文件 3. STM32F10x_FWLib用来存放ST官方提供的库函数源码文件 4. User除了用来存放工程文件外,还用来存放主函数文件main.c以及其它包括system_stm32f10x.c等等
- ## 软件篇
开发环境配置
-
1. 对于任何一个工程,我们都需要把工程中引用到的所有头文件的路径都包含进来 2. STM32的程序下载有多种方法:USB、串口、JTAG、SWD等等,都可以用来给STM32下载代码。不过,最常用、最经济的,就是通过串口给STM32下载代码 3. STM32的串口下载一般是通过串口1下载的,Alientek 精英STM32平台不是通过RS232串口下载的,而是通过自带的USB串口来下载。看起来像是USB下载,实际上是通过USB转成串口来下载代码的
一键下载电路
-
一键下载电路利用串口的DTR和RTS信号,分别控制STM32的复位和B0,配合上位机软件FlyMCU,设置DTR的低电平复位,RTS高电平进BootLoader,这样,B0和STM32的复位,完全可以由下载软件自动控制,从而实现一键下载
FlyMCU下载程序
-
1. 选择校验、编程后执行 2. DTR的高电平复位,RTS高电平进BootLoader
STM32F1软件仿真
-
MDK的一个强大的功能就是提供软件仿真,通过软件仿真,我们可以发现很多将要出现的问题,避免了下载到STM32里面来查这些错误,这样最大的好处是能很方便的检查程序存在的问题,因为在MDK的仿真下面,你可以查看很多硬件相关的寄存器,通过观察这些寄存器,你可以知道代码是不是真正有效。另一个有点是不必