stm32f103zet6led跑马灯
时间: 2023-08-31 09:09:49 浏览: 41
下面是基于STM32F103ZET6芯片的LED跑马灯程序,使用的是Keil IDE和STM32 Standard Peripheral Library(SPL)。
首先,需要在Keil中创建一个新的工程,并在工程中添加SPL库文件。
然后,在main函数中初始化GPIO引脚,设置为输出模式:
```
#include "stm32f10x.h"
int main(void)
{
// 初始化GPIO引脚
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
while (1)
{
// LED跑马灯效果
GPIO_SetBits(GPIOB, GPIO_Pin_0);
Delay(500000);
GPIO_ResetBits(GPIOB, GPIO_Pin_0);
GPIO_SetBits(GPIOB, GPIO_Pin_1);
Delay(500000);
GPIO_ResetBits(GPIOB, GPIO_Pin_1);
GPIO_SetBits(GPIOB, GPIO_Pin_2);
Delay(500000);
GPIO_ResetBits(GPIOB, GPIO_Pin_2);
GPIO_SetBits(GPIOB, GPIO_Pin_3);
Delay(500000);
GPIO_ResetBits(GPIOB, GPIO_Pin_3);
}
}
```
其中,Delay函数用于延时,可以自己定义,例如:
```
void Delay(__IO uint32_t nCount)
{
for (; nCount != 0; nCount--);
}
```
编译、下载程序后,即可看到LED跑马灯效果。