[STM8] STM8调试问题

[复制链接]
3986|45
lin_strong 发表于 2017-8-23 18:41 | 显示全部楼层
LSLDAY 发表于 2017-8-15 17:17
老哥  你说的是这个吗   p=((~(PD_IDR|0x03)) || (~(PI_IDR|0x3f)) || (~(PE_IDR|0xfe)));      全都贴出 ...

楼主,
(1)你可以把这句话 p=((~(PD_IDR|0x03)) || (~(PI_IDR|0x3f)) || (~(PE_IDR|0xfe))); 屏蔽了,再看下,
(2)P的定义不用Volatile修饰看下
 楼主| LSLDAY 发表于 2017-8-30 09:51 | 显示全部楼层
zzjj44 发表于 2017-8-16 14:32
在编译器VC6中,执行结果也相同。先看看分别给p和q赋值的汇编代码及其单步执行顺序:

一直忙,好久没登录来看看了 ,看了你写的,虽然有点不太懂(对汇编不熟悉),但感觉解释的很合理,谢谢,老哥耐心指教,你这段话 我得研究研究
 楼主| LSLDAY 发表于 2017-8-30 09:53 | 显示全部楼层
lin_strong 发表于 2017-8-23 18:41
楼主,
(1)你可以把这句话 p=((~(PD_IDR|0x03)) || (~(PI_IDR|0x3f)) || (~(PE_IDR|0xfe))); 屏蔽了, ...

额 好久没登陆了,屏蔽了 p=((~(PD_IDR|0x03)) || (~(PI_IDR|0x3f)) || (~(PE_IDR|0xfe)));  这句话,需要观察哪里验证?
 楼主| LSLDAY 发表于 2017-8-30 09:58 | 显示全部楼层
zzjj44 发表于 2017-8-16 14:32
在编译器VC6中,执行结果也相同。先看看分别给p和q赋值的汇编代码及其单步执行顺序:

还有,您能帮我看下  截图中,调用函数后 执行  return  (Dis_Status);  后就死机了  ,应该是返回不去了 ,这是为什么呢
1.png
Bjorn 发表于 2017-8-31 17:44 | 显示全部楼层
编译器很不讲理地直接把p赋值了1

这是为什么,编译器坏了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部