PB3 PB4 PA15 作为普通IO时候,需要disable JTAG ,释放出来
gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE); //这个语句很重要
/********************************************************************
Function:Key_Scan
INPUT :
OUTPUT :
NOTE :
********************************************************************/
void fun_Key_init(void)
{
rcu_periph_clock_enable(KEY_SET_GPIO_CLK);
rcu_periph_clock_enable(KEY_UP_GPIO_CLK);
rcu_periph_clock_enable(KEY_DWON_GPIO_CLK);
rcu_periph_clock_enable(RCU_GPIOA);
rcu_periph_clock_enable(RCU_AF);
gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE);
/* configure button pin as input */
gpio_init(KEY_SET_GPIO_PORT, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, KEY_SET_PIN);
gpio_init(KEY_UP_GPIO_PORT, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, KEY_UP_PIN);
gpio_init(KEY_DWON_GPIO_PORT, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, KEY_DWON_PIN);
gpio_init(GPIOA, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_15);
}
#define KEY_UP_PIN GPIO_PIN_15
#define KEY_UP_GPIO_PORT GPIOA
#define KEY_UP_GPIO_CLK RCU_GPIOA
#define KEY_DWON_PIN GPIO_PIN_3
#define KEY_DWON_GPIO_PORT GPIOB
#define KEY_DWON_GPIO_CLK RCU_GPIOB
#define KEY_SET_PIN GPIO_PIN_4
#define KEY_SET_GPIO_PORT GPIOB
#define KEY_SET_GPIO_CLK RCU_GPIOB