stm32 中设置PA口为上拉输入接按键,这个程序为什么不行

#define KEY1 PAin(1) //PA1
#define KEY2 PAin(2) //PA2
#define KEY3 PAin(3) //PA3
#define KEY4 PAin(4) //PA4
#define KEY5 PAin(5) //PA5
#define KEY6 PAin(13) //PA13
#define KEY7 PAin(15) //PA15

void KEY_Init(void)
{
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRL&=0XFF00000F;//PA1-5设置成输入
GPIOA->CRL|=0X00888880;
GPIOA->CRH&=0X0F0FFFFF;//PA13,15设置成输入
GPIOA->CRH|=0X80800000;
GPIOA->ODR|=1<<1; //PA1上拉
GPIOA->ODR|=1<<2; //PA2上拉
GPIOA->ODR|=1<<3; //PA3上拉
GPIOA->ODR|=1<<4; //PA4上拉
GPIOA->ODR|=1<<5; //PA5上拉
GPIOA->ODR|=1<<13; //PA13上拉
GPIOA->ODR|=1<<15; //PA15上拉
}

PA13,PA14,PA15默认是JTAG调试端口。默认情况下这些引脚的通用IO功能是不能使用的,使用前应当关闭JTAG和SWD:
AFIO->MAPR &= ~(0X07 << 24); //清除b26:b24
AFIO->MAPR |= 0X04 << 24; //设定JTAG无效,SWD无效追问

这个我在按键扫描的时候都禁用JTAG调试端口,我的PA1-5设置有错吗

追答

这一部分看起来没什么问题,是不是其它地方的问题呢

温馨提示:答案为网友推荐,仅供参考
相似回答