使用STM32F103ZET6编写流水灯
时间: 2023-07-11 07:12:27 浏览: 89
好的,下面是使用STM32F103ZET6编写流水灯的示例代码:
```c
#include "stm32f10x.h"
void Delay(uint32_t nCount) {
for(; nCount != 0; nCount--);
}
int main(void) {
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
while (1) {
GPIO_SetBits(GPIOB, GPIO_Pin_5);
Delay(0xFFFFF);
GPIO_SetBits(GPIOB, GPIO_Pin_6);
Delay(0xFFFFF);
GPIO_SetBits(GPIOB, GPIO_Pin_7);
Delay(0xFFFFF);
GPIO_SetBits(GPIOB, GPIO_Pin_8);
Delay(0xFFFFF);
GPIO_ResetBits(GPIOB, GPIO_Pin_5);
Delay(0xFFFFF);
GPIO_ResetBits(GPIOB, GPIO_Pin_6);
Delay(0xFFFFF);
GPIO_ResetBits(GPIOB, GPIO_Pin_7);
Delay(0xFFFFF);
GPIO_ResetBits(GPIOB, GPIO_Pin_8);
Delay(0xFFFFF);
}
}
```
这个示例代码使用了GPIOB的5、6、7、8四个引脚来控制LED灯。程序中的Delay函数实现了一个简单的延时功能,让LED灯产生流水灯效果。在while循环中,先依次点亮LED灯,再依次熄灭LED灯,然后循环执行。
阅读全文