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
|