STM32的LED控制图在上一篇博客里,需要的话可以参考
LED闪烁控制的步骤
1.PB8引脚输出低电平,LED点亮
2.延时
3.PB8引脚输出高电平,LED熄灭
4.延时
5.重复第一步(循环)
#include "stm32f10x.h"
void Delay(unsigned int count) //延时函数
{
unsigned int i;
for(;count!=0;count--)
{
i=5000;
while(i--);
}
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE); //使能GPIOB时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //PB8引脚配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //配置PB8为推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //GPIOB速度为50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PB8
GPIO_SetBits(GPIOB,GPIO_Pin_8); //PB8输出高电平,LED熄灭
while(1)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_8); //PB8输出低电平,LED点亮
Delay(100); //延时,保持点亮一段时间
GPIO_SetBits(GPIOB,GPIO_Pin_8);
Delay(100); //保持熄灭一段时间
}
}
延时说明:因为stm32指令反应速度很快,人眼很难识别,所以需要延迟一段时间,这样就能看到闪烁效果