stm32f103c8t6控制灯体的上下左右旋转、复位的代码
时间: 2023-09-05 14:10:10 浏览: 31
好的,以下是基于 STM32F103C8T6 控制灯体进行旋转、复位的代码:
```c
#include "stm32f10x.h"
void delay(unsigned int t) { // 延时函数
unsigned int i;
while(t--) {
for(i = 0; i < 7200; i++);
}
}
int main(void) {
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // 使能 GPIOC 时钟
GPIO_InitTypeDef gpio_init;
gpio_init.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出
gpio_init.GPIO_Pin = GPIO_Pin_All; // 控制所有引脚
gpio_init.GPIO_Speed = GPIO_Speed_50MHz; // 最大输出速度 50MHz
GPIO_Init(GPIOC, &gpio_init); // 初始化 GPIOC
while(1) {
// 控制灯体上下左右循环旋转
for(int j = 0; j < 4; j++) { // 四个方向
for(int i = 0; i < 8; i++) { // 8个LED灯
GPIO_SetBits(GPIOC, 1 << i); // 点亮
delay(500); // 延时
GPIO_ResetBits(GPIOC, 1 << i); // 熄灭
}
}
// 复位
GPIO_ResetBits(GPIOC, GPIO_Pin_All); // 熄灭所有LED灯
delay(500); // 延时
}
}
```
希望这份代码对你有所帮助!如果你有其他问题,可以随时问我哦~