1.? 图1
2. 图2
3. 图3
4. 图3的代码
void LEDInit(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//LED端口初始化函数部分;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE); //使能GPIO端口E、G时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15|GPIO_Pin_12|GPIO_Pin_11|GPIO_Pin_8; //设置LED1、LED2引脚,PG7->LED1;PG8->LED2
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //设置输出速率为50MHz
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置引脚为通用推挽模式
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化GPIOG端口
GPIO_SetBits(GPIOA, GPIO_Pin_15|GPIO_Pin_12|GPIO_Pin_11|GPIO_Pin_8); //设置PG7、PG8输出高电平,初始时LED1、LED2为熄灭状态
//GPIO_ResetBits(GPIOA, GPIO_Pin_15|GPIO_Pin_12|GPIO_Pin_11|GPIO_Pin_8);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15|GPIO_Pin_14; //配置RGB小灯引脚 LED_R->PE9;LED_G->PE11;LED_B->PE13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //设置输出速率为50MHz
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置引脚为通用推挽模式
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化GPIOE端口
GPIO_SetBits(GPIOB, GPIO_Pin_15|GPIO_Pin_14); //设置PE9、PE11、PE13输出高电平,初始时RGB小灯为熄灭状态
//GPIO_ResetBits(GPIOB, GPIO_Pin_15|GPIO_Pin_14);
}
#ifndef _LED_H
#define _LED_H
#include "config.h"
//LED输出部分,LED1-LED6
#define Led1_On() GPIO_ResetBits(GPIOA, GPIO_Pin_15)
#define Led2_On() GPIO_ResetBits(GPIOA, GPIO_Pin_12)
#define Led3_On() GPIO_ResetBits(GPIOA, GPIO_Pin_11)
#define Led4_On() GPIO_ResetBits(GPIOA, GPIO_Pin_8)
#define Led5_On() GPIO_ResetBits(GPIOB, GPIO_Pin_15)
#define Led6_On() GPIO_ResetBits(GPIOB, GPIO_Pin_14)
//LED输出部分,LED1-LED6
#define Led1_Off() GPIO_SetBits(GPIOA, GPIO_Pin_15)
#define Led2_Off() GPIO_SetBits(GPIOA, GPIO_Pin_12)
#define Led3_Off() GPIO_SetBits(GPIOA, GPIO_Pin_11)
#define Led4_Off() GPIO_SetBits(GPIOA, GPIO_Pin_8)
#define Led5_Off() GPIO_SetBits(GPIOB, GPIO_Pin_15)
#define Led6_Off() GPIO_SetBits(GPIOB, GPIO_Pin_14)
void LEDInit(void);
#endif
|