在本实例中,主要是为了实现LED灯的闪烁。首先分析LED的驱动方式,本实验中使用的是OpenM3V,内置8个LED均采用灌流方式驱动(低电平亮)。如果想要实现其闪烁,则需要给相应端口持续不断的高低交替电平。
在软件结构设计中,加入使用LED8,则需要在PD7口不断的输出高电平和低电平。首先需要初始化系统时钟,然后再开始配置PD7作为输出使用,打开外设时钟最后控制PD7输出持续的高低轮流。
开始 -> 配置系统时钟 -> 配置PD7作为输出在打开PD外设时钟 -> 置位PD7,熄灭LED8 -> 延时程序 -> 清PD7,点亮LED8 -> 延时 -> 置位PD7,以此开始循环闪烁。
以下给出具体的代码(代码运行在KEIL5上)。
在软件代码编写中需要实现LED的闪烁其实是很简单的,只需要轮流的置低、置高控制LED8的I/O口线就好。
#include<stm32f10x_lib.h> //包含头文件,使用库函数必须要加入该头文件
int main(void)
{
RCC_Configuration();//配置系统时钟,设置系统时钟为72MHz
NVIC_Configuration();//配置中断
//使能A,B,C,D,E外设时钟,如果用到那个外设,必须打开其外设时钟
RCC_APB2PeriphClockCmd(RCC_