1.首先要打开RCC开启
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD,ENABLE);
2.进行GPIO_Init初始化
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_2;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStruct);
GPIO_Init(GPIOD,&GPIO_InitStruct);
GPIO_SetBits(GPIOA, GPIO_Pin_8);
GPIO_SetBits(GPIOD, GPIO_Pin_2);
3使用GPIO输出函数来打开GPIO
//这几个都是低电平,使LED点亮
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
GPIO_ResetBits(GPIOD,GPIO_Pin_2);
GPIO_WriteBit(GPIOA , GPIO_Pin_8, Bit_RESET);
GPIO_WriteBit(GPIOD , GPIO_Pin_2, Bit_RESET);
4.LED流水灯
思路:
就是先点亮LED灯使之发亮一会
进行延时
在熄灭LED灯
在进行延时
#include "stm32f10x.h" // Device header
#include "Delay.h"
int main()
{
//利用的是推挽输出模式
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD,ENABLE);//ʱÖÓÉèÖÃ
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStruct);
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_2;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOD,&GPIO_InitStruct);
while(1)
{
GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_RESET);
Delay_ms(500);
GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_SET);
Delay_ms(500);
GPIO_SetBits(GPIOD,GPIO_Pin_2);
Delay_ms(500);
GPIO_ResetBits(GPIOD,GPIO_Pin_2);
Delay_ms(500);
}
}
5:其中还包括有延时函数(大家要注意一下)