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指令反应速度很快,人眼很难识别,所以需要延迟一段时间,这样就能看到闪烁效果
|