在线时间2 小时
UID393808
ST金币0
蝴蝶豆0
注册时间2012-10-9
新手上路
- 最后登录
- 1970-1-1
|
a0a.1 0b0c
该问题由某客户提出,发生在 STM32F103VBT6 器件上。据其工程师讲述:在为 STM32 调试软件过程中,遇到了一个怪现象:有如表(一)所示的一段程序中,KeyIn 是一个全局变量。当有按键按下时,键盘的中断服务程序会将对应的键值放入其中,当按键释放后,键盘中断服务程序则把 RESET 值放入该变量。行(1)的条件语句在主程序中,检测有无按键按下,并处理。行(2)则是等待按键释放。调试时,在行(1)和行(2)处各设置一个断点,然后全速运行程序。当程序停在行(1)时按下按键,继续全速运行程序。当程序停在行(2)时,放开按键,继续全速运行程序。这时,发现程序没有向下执行,而是依然回到并停留在行(2)处。打开观察窗口,观察变量KeyIn 的值,确认其值为 RESET。再次起动全速运行,程序依然回到行(2),而不是向下执行。
问题详细描述以及ST官方解答见文档:
跳不出的 while 循环.pdf
(287.62 KB, 下载次数: 301)
|
<
|