你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
moyanming2013 发表于 2015-9-29 18:35 实在不清楚你在问什么!看汇编不是执行了正确的流程了吗?有时候IDE并不是非常准确,因为调试时可能存在的 ...
hejiuqu 发表于 2015-9-29 18:48 cmode的值我传的0,在IAR中观察的是0x34,下面那个函数没有涉及,这个参数没有进行操作,只是作判断!! ...
moyanming2013 发表于 2015-9-29 23:28 IDE中有时要手动刷新才会更新真实的数据。 可能的情况 1.作用域的问题。
cmode的值我传的0,在IAR中观察的是0x34,下面那个函数没有涉及,这个参数没有进行操作,只是作判断!!当我把cmode == 0的条件改为comde == 0x34就可以了,不知道什么原因,在下面的编程中又出现这种问题了,程序编不下去了。
而且我后面调试过程中发现,有个变量的值只可为0或1,但是观察看到的却是其他值,导致正常逻辑不行,按观察的值反而可以。
IDE中有时要手动刷新才会更新真实的数据。
可能的情况
1.作用域的问题。
2.栈的问题,函数参数没有正确压入或弹出。
3.对于形参加入一个volatile试试?或者像第一个形参似的,内部再申请一个并赋值。
但我认为,一般都是不细心造成的问题,你还是仔细再审查下自己的代码,从头开始一行不落。
今天我把形参改成u16 data_mode,同第一个一样再在内部加个mode,然后把data_mode 传给mode,最后才用mode做判断,可以了。不知道什么原因,很郁闷,不知道后面的程序会不会出问题。非常感谢各位的建议!!!
该不会是把数值0和ASCII码的0搞混了吧楼主