STM32点亮LED步骤案例http://blog.csdn.net/ktigerhero3/article/details/53942876
准备
(1)硬件
STM32开发板,jlink仿真器(用于烧入程序)
(2)软件
a)集成开发环境keil,我用的是keil4
b)jlink驱动Setup_JLink_V490.exe(驱动jlink仿真器)
准备妥当,GO GO GO
点亮LED灯的步骤如下
1.安装keil软件
2.新建工程
3.配置参数
4.安装jlink驱动和连线烧入程序
5.启动STM32,点亮LED
1.新建工程
STM32新建工程比较麻烦,原因是因为需要自己手动包含库函数,设置环境等。
(1)在project选项下新建一个uvision project
选择芯片型号,芯片型号开发板的CPU上有,我的为STM32F103RCT6
(2)新建3个文件夹,分别放不同的库函数
a)core文件夹,主要放CMSIS文件
b)lib文件夹,主要放设备文件
c)user文件夹,放main函数
这些文件对应相应的芯片,可在官方下载。
STM32F10x_StdPeriph_Lib_V3.5.0.rar中有。
(a)core文件夹文件列表如下
- 1
- 2
- 3
- 4
- 5
- 6
(b)lib文件夹列表
- 1
- 2
- 3
(c)user文件夹为main.c
2.配置参数
1)output 选项下勾create HEX file
2)包含头文件:在options for taget 中的C/C++选项中include path包含core和lib/inc(有头文件的目录都包含进去),
3)Define下加入宏STM32F10X_HD,USE_STDPERIPH_DRIVER
目的:“使用标准外设驱动”,在C/C++预定义中加入“USE_STDPERIPH_DRIVER”和STM32F10X_HD就是允许“使用标准外设驱动”了。
此时可以编译了,注意,如果编译出现undefined symbol错误,原因是lib中头文件的版本和keil默认include版本冲突,一个解决方案是直接将lib中头文件拷贝到默认的D:\Program Files\keil\ARM\INC\ST\STM32F10x目录中。
3.安装jlink驱动
(1)下载Setup_JLink_V490.exe,安装后重启系统
(2)在Debug和Utinities中选择J-LINK。在setting中的FLASH
download中add芯片类型
(3)连好线点load烧录程序。
4.自己编写点亮LED程序
以上新建工程中包含库函数是为了初始化单片机,最终使单片机运行到main函数中。当程序运行到main函数中后,就要在main函数中控制点亮LED灯了。点亮LED灯关键要找到对应关系。
(1)首先要找到开发板上的LED灯。
(2)然后要找到开发板对应的电路图,在电路图上找到你所要控制的LED灯的编号(注意,电路图上的编号对应程序中定义的宏的名称)。
(3) 最后在程序中给LED灯对应的地址赋值(高电平还是低电平)。赋值的方法有三种,可以通过调用库来赋值,也可以给寄存器直接赋值。示例代码如下: