|
我使用 CooCox 调试 STM32F4,遇到一个调试器异常问题: static STEP_MODE val_step_mode = FALSE; 1 if ((Get_Core_Current_Track()->step_mode) != val_step_mode) 2 { 3 val_step_mode = Get_Core_Current_Track()->step_mode; 4 return BS_SUB_MODE; 5 } 第 1 行用来对比程序运行时的实时状态与静态变量val_step_mode;两者不一致就进入 if 分支,把实时状态赋值给静态变量,等待下一轮判断。 按下开发板按键后,条件成立,程序进入 if 块,说明此时两个变量值必然不相等。 但调试器表达式窗口显示val_step_mode为 0;单步执行第 3 行赋值语句后,调试器里val_step_mode依旧显示 0,逻辑上完全说不通。 奇怪的是程序实际运行逻辑完全正常,其他函数能读到正确的变量值、执行行为无误。 代码里多处静态 / 全局变量都出现同类问题:调试窗口显示的值错误,但程序真实运算不受影响 |
STM32F407VET6,使用cubeIDE下载跑不起来
FLASH擦除轮询等待时CPU真的会轮询吗
STM32F207IG 10Mbps 半双工以太网异常
STM32L562DK探索板——初试Audio
STM32L562DK探索板——触摸板测试
STM32L562DK探索板——点灯
STM32L562DK探索板的供电模式
STM32L562DK探索板初试
收到商城兑换的开发板盲盒——STM32L562Discovery Kit
多通道平滑波形绘图方案
微信公众号
手机版
建议用 STM32CUBEIDE 试试,免费的。