学号最后两位为ab,学号为奇数的使用GPIOA,学号为偶数使用GPIOC,引脚分别为(21+5)%16,(21+6)%16。直接调用延时函数为Delay(m),单位ms(不需要定义)。共阳接法,设计一个流水灯程序。
时间: 2023-04-10 22:01:12 浏览: 99
好的,这是一个关于编程的问题,我可以回答。以下是代码:
#include "stm32f10x.h"
void Delay(uint32_t m)
{
uint32_t i;
for(i=0;i<m;i++);
}
int main(void)
{
uint16_t pin;
uint32_t i;
if((ab%2)==1) // 奇数
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
pin = GPIO_Pin_5;
}
else // 偶数
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
pin = GPIO_Pin_6;
}
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);
}
return 0;
}
这是一个简单的流水灯程序,根据学号的奇偶性选择使用GPIOA或GPIOC,然后设置引脚为输出模式,最后循环控制LED灯的亮灭。
阅读全文