|
实现了流水灯
#include "stm32f10x.h" //头文件
void LED(void) //PA口初始化
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_3 | GPIO_Pin_5| GPIO_Pin_7 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
void LED_GPIO(void) //PC口初始化
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_15 | GPIO_Pin_1| GPIO_Pin_3 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
void Delay_ms(uint16_t time) //延时函数
{
u16 i=0;
while(time--)
{
i=10000;
while(i--) ;
}
}
int main()
{
LED_GPIO(); //初始化PC口
LED(); //初始化PA口
while(1)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_1); //关闭PC1
GPIO_ResetBits(GPIOC,GPIO_Pin_3); //关闭PC3
GPIO_ResetBits(GPIOC,GPIO_Pin_13);
GPIO_ResetBits(GPIOC,GPIO_Pin_15);
GPIO_ResetBits(GPIOA,GPIO_Pin_1);
GPIO_ResetBits(GPIOA,GPIO_Pin_3);
GPIO_ResetBits(GPIOA,GPIO_Pin_5);
GPIO_ResetBits(GPIOA,GPIO_Pin_7);
Delay_ms(1000);
GPIO_SetBits(GPIOC,GPIO_Pin_13); //点亮PC13
Delay_ms(1000); //延时
GPIO_SetBits(GPIOC,GPIO_Pin_15); //点亮PC15
Delay_ms(1000);
GPIO_SetBits(GPIOC,GPIO_Pin_1); //点亮PC1
Delay_ms(1000);
GPIO_SetBits(GPIOC,GPIO_Pin_3); //点亮PC3
Delay_ms(1000);
GPIO_SetBits(GPIOA,GPIO_Pin_1); //点亮PA1
Delay_ms(1000);
GPIO_SetBits(GPIOA,GPIO_Pin_3);
Delay_ms(1000);
GPIO_SetBits(GPIOA,GPIO_Pin_5);
Delay_ms(1000);
GPIO_SetBits(GPIOA,GPIO_Pin_7);
Delay_ms(1000);
}
}
|
|