实物接线如下:
软件代码
#include "stm32f10x.h" // Device header
#include "delay.h"
int main(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //开启时钟GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure); //读取结构体内部参数,执行一堆判断与运算,最后写入到GPIO配置寄存器中while(1){GPIO_Write(GPIOA,~0x0001); //0000 0000 0000 0001Delay_ms(200);GPIO_Write(GPIOA,~0x0002);//0000 0000 0000 0010Delay_ms(200);GPIO_Write(GPIOA,~0x0004);//0000 0000 0000 0100Delay_ms(200);GPIO_Write(GPIOA,~0x0008);//0000 0000 0000 1000Delay_ms(200);GPIO_Write(GPIOA,~0x0010);//0000 0000 0001 0000Delay_ms(200);GPIO_Write(GPIOA,~0x0020);//0000 0000 0010 0000Delay_ms(200);GPIO_Write(GPIOA,~0x0040);//0000 0000 0100 0000Delay_ms(200);GPIO_Write(GPIOA,~0x0080);//0000 0000 1000 0000Delay_ms(200);}
}
将8个LED接在A0~A7;打开A的全部时钟和模式,即可实现流水灯效果;