void GPIO_MODE(uint32_t gpio_pin,u8 odr)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = gpio_pin;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//无上下拉
GPIO_Init(GPIOA, &GPIO_InitStructure);
if(odr)
GPIO_SetBits(GPIOA,gpio_pin); // = 1
else
GPIO_ResetBits(GPIOA,gpio_pin); // = 0
/*
//设置输出模式
GPIOA->MODER &= ~(3 << (pin * 2));
GPIOA->MODER |= (1 << (pin * 2));
//设置推挽输出
GPIOA->OTYPER &= ~(1 << pin);
//设置输出速度2MHz
GPIOA->OSPEEDR &= ~(3 << (pin * 2));
//GPIO端口上拉/下拉寄存器
GPIOA->PUPDR &= ~(3 << (pin * 2));
*/
}
void GPIO_Floating(uint32_t gpio_pin)
{/*
//设置浮空输入模式
GPIOA->MODER &= ~(3 << (pin * 2));
//GPIO端口上拉/下拉寄存器
GPIOA->PUPDR &= ~(3 << (pin * 2));
*/
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = gpio_pin;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//无上下拉
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
void LED1_PIN(char num) {if(num == 1){GPIO_MODE(GPIO_Pin_0,1); } else if(num == 0){GPIO_MODE(GPIO_Pin_0,0); } else {GPIO_Floating(GPIO_Pin_0);}}
void LED2_PIN(char num) {if(num == 1){GPIO_MODE(GPIO_Pin_1,1); } else if(num == 0){GPIO_MODE(GPIO_Pin_1,0); } else {GPIO_Floating(GPIO_Pin_1);}}
void LED3_PIN(char num) {if(num == 1){GPIO_MODE(GPIO_Pin_2,1); } else if(num == 0){GPIO_MODE(GPIO_Pin_2,0); } else {GPIO_Floating(GPIO_Pin_2);}}
void LED4_PIN(char num) {if(num == 1){GPIO_MODE(GPIO_Pin_3,1); } else if(num == 0){GPIO_MODE(GPIO_Pin_3,0); } else {GPIO_Floating(GPIO_Pin_3);}}
void LED5_PIN(char num) {if(num == 1){GPIO_MODE(GPIO_Pin_4,1); } else if(num == 0){GPIO_MODE(GPIO_Pin_4,0); } else {GPIO_Floating(GPIO_Pin_4);}}
void LED6_PIN(char num) {if(num == 1){GPIO_MODE(GPIO_Pin_5,1); } else if(num == 0){GPIO_MODE(GPIO_Pin_5,0); } else {GPIO_Floating(GPIO_Pin_5);}}
void LED7_PIN(char num) {if(num == 1){GPIO_MODE(GPIO_Pin_6,1); } else if(num == 0){GPIO_MODE(GPIO_Pin_6,0); } else {GPIO_Floating(GPIO_Pin_6);}}
void LED8_PIN(char num) {if(num == 1){GPIO_MODE(GPIO_Pin_7,1); } else if(num == 0){GPIO_MODE(GPIO_Pin_7,0); } else {GPIO_Floating(GPIO_Pin_7);}}
|