stm32点亮跑马灯程序代码
时间: 2023-10-28 16:05:25 浏览: 122
这是一段使用STM32来点亮跑马灯的程序代码。这个程序使用了GPIO口控制LED的亮灭。程序中通过循环改变控制码,从而实现了跑马灯的效果。具体的代码如下:
#include "stm32f10x.h"
uint16_t temp,i,j;
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 = 0x03FF;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //配置引脚为推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //GPIOB速度为50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PB8-PB11
while(1)
{
temp = 0x0FFFE; //设置初始控制码
for(i=0;i<4;i++)
{
GPIO_Write(GPIOB,temp); //向GPIOB口写点亮LED的控制码
Delay(100);
temp=temp<<1; //控制码左移一位,获得下一个控制码
}
temp = 0x0FE00; //设置初始控制码
for(j=0;j<4;j++)
{
GPIO_Write(GPIOB,temp);
Delay(100);
temp=(temp>>1)|0x8000; //右移一位加0x8000,获得下一个控制码
}
}
}
以上就是点亮跑马灯的STM32程序代码。
阅读全文