PB3用作输入口的奇怪问题

2019-07-21 06:33发布

将PB3、4、5用作键盘,初始化代码如下,采用扫描方式进行键盘读取,但PB3口只能读一次,并且也会造成PB4、5的键盘功能暂时不可用,求指教。
void KEY_Init(void) 
{
  GPIO_InitTypeDef GPIO_InitStructure;


 
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); 
GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST , ENABLE);

}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
lkgaaa
2019-07-21 14:08
回复【2楼】正点原子:
---------------------------------
非常感谢,居然可以了,但现在有点不明白,初始化的最后我用GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST , ENABLE);启用调试,在扫描部分,先用GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); 禁用调试,再进行扫描,扫描完成后又用GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST , ENABLE);启用调试,理论上多这句话没什么影响啊,能给解释下吗?

一周热门 更多>