我手中的板子是正点原子的STM32F1精英版
板子的型号为:STM32F103ZET6
关于板子的外设资源如下图所示
一、目标及实现方法
实现流水灯
板载两个LED灯,如上图的右下角所示。
关于LED灯的电路连接方式如下
当LED0和LED1为低电平时,发光二极管导通,实现亮灯,而PWR为电源指示灯,只要开发板上电则该灯一直亮着。
在知道了LED是低电平点亮后,我们还需要知道LED所连接STM32芯片的端口,其连接端口如下图所示
可知,LED0和LED1连接到开发板的PE5和PB5
在知道以上的这些信息后,我们就可以打开软件进行操作了。
二、CubeMX配置
1、首先选择芯片信号STM32F103ZETx系列,如下图
2、时钟配置
如果才开始不知道如何配置时钟的话,可以简单的搜索一下如下图搜索
根据提示配置时钟如下图
SYS配置如下图
RCC配置如下图
然后就可以对GPIO进行配置了,把两个LED对应的PB5和PE5端口设置为输入,关于为何设置为输出可以理解为STM32芯片向这两个管脚发送电平0和1,所以是输出。配置如下
另外GPIO口一栏要设置为HIGH,因为给LED的端口输出低电平时LED灯会点亮,所以我们需要默认设置为高电平,以免LED灯默认状态下就是点亮。
之后就是导出到keil中了
另外在Code Generator这一栏勾选上生成外设相关的c文件和h文件。就可以生成代码了。
三、KEIL配置
打开keil软件
查看Application/User中的gpio.c文件可以看到,CubeMX已经帮我们把端口配置好了。
只需要在main函数中的while(1)中添加几段代码即可
另外需要说明的是,延时的单位为ms,
另外需要说明的是,延时的单位为ms,
1/1kHz=1ms
然后将该文件编译下载到办卡上即可
实现的效果为流水灯。