找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

C语句中,为什么这个地方不能打断点

查看数: 3626 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-12-13 11:50

正文摘要:

求助: void        Read_Pressure_Data(u8 Pressure_Num) {         u8 i;         if(Pressure_Num == 1)         { & ...

回复

ID:387733 发表于 2018-12-13 16:49
因为优化时,相同的指令合并,该处会被多次执行,程序无法判断断点实际情况。具体的应该结合编译后的汇编程序,更好理解。在汇编里面打断点才是最准确的。在C里面要打断点调试,可以先将优化级别降到最低,调试通过后再把优化级别调高。
ID:445662 发表于 2018-12-13 15:01
keil设置里面,点击c51,再点击优化程度选择,选择0级优化就可以解决问题。
ID:333467 发表于 2018-12-13 13:17
改成PDATA或XDATA后,即使高优化等级也可以了。
ID:333467 发表于 2018-12-13 13:14
调节优化等级为3时,该处可以运行打断点了。
但没明白为什么优化等级调高后,该语句竟然没转成汇编,被优化掉该语句。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表