guyii54 发表于 2018-3-15 12:30:36

按键输入的问题

板子是秉火的stm32f4,用cubemx生成的gpio输入配置如下:两个按键的接口分别是PA0和PC13


GPIO_InitTypeDef GPIO_InitStruct;

/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();

/*Configure GPIO pin : PC13 */
GPIO_InitStruct.Pin = GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);

/*Configure GPIO pin : PA0 */
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);



问题在调试的时候,按下键后调试器里相应端口的寄存器并未显示有电平跳变,相应功能也就无法完成……
有人出现过类似的问题吗

bargagebaobei 发表于 2018-3-15 12:35:48

程序在运行过程中 你是看不到寄存器发生变化的 可以设置一个断点 检测电平变化 其他别的断点 运行到断点的时候 就能看到寄存器发生的变化了

guyii54 发表于 2018-3-15 13:19:34

bargagebaobei 发表于 2018-3-15 12:35
程序在运行过程中 你是看不到寄存器发生变化的 可以设置一个断点 检测电平变化 其他别的断点 运行到断点的 ...

设置断点后能观察到寄存器变化,问题已经解决,谢谢您!

wenyangzeng 发表于 2018-3-15 13:19:39

本帖最后由 wenyangzeng 于 2018-3-15 14:44 编辑

PC13 设成下拉,如果按键是低电平有效就无法工作了
GPIO_InitStruct.Pull = GPIO_PULLDOWN;

bargagebaobei 发表于 2018-3-15 13:23:59

guyii54 发表于 2018-3-15 13:19
设置断点后能观察到寄存器变化,问题已经解决,谢谢您!

您客气啦举手之劳

MrJiu 发表于 2018-3-15 14:23:02

在线调试有时候很难达到自己的调试要求,打印还是最好滴!!!:lol:lol:lol
页: [1]
查看完整版本: 按键输入的问题