4.主函数代码实现:
#include "stm32f10x.h"
GPIO_InitTypeDef GPIO_InitStructure;
void delay(unsigned int ms)//时间不准确,只是一个简单的延迟
{
for(int i = 0;i < 1000;i++)
{
for(int j = 0;j < ms; j++);
}
}
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//初始化A口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1|GPIO_Pin_2
|GPIO_Pin_3|GPIO_Pin_4 | GPIO_Pin_5|GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
while (1)
{
for(int i = 0;i < 8;i++)//第一个灯到第8个
{
GPIOA->BSRR = (1 << i);
delay(100);//亮
GPIOA->BRR = (1 << i);
delay(100);//灭
}
for(int i = 0; i <8; i++)//8个同时亮灭8次
{
GPIOA->BSRR = 0xff;
delay(100);//亮
GPIOA->BRR = 0xff;
delay(100);//灭
}
}
}
#ifdef USE_FULL_ASSERT
#endif
|