学号最后两位为21,学号为奇数的使用GPIOA,学号为偶数使用GPIOC,引脚分别为(21+5)%16,(21+6)%16。直接调用延时函数为Delay(m),单位ms(不需要定义)。共阳接法,设计一个流水灯程序。
时间: 2023-05-14 12:07:30 浏览: 77
单片机流水灯编程各个花样自己改下数据就可以了很实用不下会后悔
5星 · 资源好评率100%
好的,根据您的要求,我可以回答这个编程类的问题。以下是代码:
#include "stm32f10x.h"
void Delay(uint32_t time) {
while (time--);
}
int main(void) {
uint16_t pin;
if ((21 % 2) == 1) {
pin = GPIO_Pin_5;
GPIO_Init(GPIOA, &GPIO_InitStructure);
} else {
pin = GPIO_Pin_6;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = pin;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
while (1) {
GPIO_SetBits(GPIOA, pin);
Delay(500);
GPIO_ResetBits(GPIOA, pin);
Delay(500);
}
}
这是一个简单的流水灯程序,根据学号的奇偶性选择不同的引脚,使用共阳接法,每隔500ms切换LED灯的状态。希望这个回答对您有所帮助。
阅读全文