打印

在mdk中给变量赋值为1它却变成其他值,譬如48

[复制链接]
3609|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
megaf|  楼主 | 2011-7-4 11:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 megaf 于 2011-7-4 11:53 编辑

在mdk中给变量赋值为1它却变成其他值,譬如48
沙发
香水城| | 2011-7-4 11:37 | 只看该作者
呵呵,赶上中国机器人发展的时代了,自动化程度很高,:lol

使用特权

评论回复
板凳
megaf|  楼主 | 2011-7-4 11:54 | 只看该作者
变量定义为u8  HeartSec = 0;一走到赋值为一那句,就变成48,不归一。不解。

使用特权

评论回复
地板
megaf|  楼主 | 2011-7-4 12:45 | 只看该作者
2# 香水城
呵呵, 既然来了就给点解决思路吧

使用特权

评论回复
5
anqier1| | 2011-7-4 13:11 | 只看该作者
多了解下 没坏处:lol

使用特权

评论回复
6
megaf|  楼主 | 2011-7-4 14:13 | 只看该作者
顶一下

使用特权

评论回复
7
megaf|  楼主 | 2011-7-4 17:27 | 只看该作者
哎,快下班了,又一天过去,这问题还没搞定,头大

使用特权

评论回复
8
123jj| | 2011-7-4 17:35 | 只看该作者
肯定内存冲突,在其他地方将变量改写了

使用特权

评论回复
9
megaf|  楼主 | 2011-7-5 08:13 | 只看该作者
8# 123jj
内存冲突?该怎么检查,怎么改正这个错误

使用特权

评论回复
10
ploto| | 2011-7-5 11:14 | 只看该作者
最大的可能是栈溢出了。

使用特权

评论回复
11
香水城| | 2011-7-5 12:53 | 只看该作者
变量定义为u8  HeartSec = 0;一走到赋值为一那句,就变成48,不归一。不解。
megaf 发表于 2011-7-4 11:54


局部变量还是全局变量?

哪里看到结果不对?单步运行还是断点运行?

使用特权

评论回复
12
megaf|  楼主 | 2011-7-5 15:54 | 只看该作者
10# ploto
栈溢出了??那我下一步怎么处理

使用特权

评论回复
13
megaf|  楼主 | 2011-7-5 15:55 | 只看该作者
11# 香水城
全局变量,单步走的,在我截图里,可以看到,我有两次给heart变量赋值,第一次过去后还是48(watch窗口可以看到)

使用特权

评论回复
14
香水城| | 2011-7-5 16:03 | 只看该作者
广义地讲,这种现象可以是正常的:1)可能因为代码优化后,你看到的与实际运行不一致;2)可能因为新的赋值还在寄存器中,没有传到RAM中,而watch窗口只看RAM的内容。

使用特权

评论回复
15
mcu5i51| | 2011-7-5 16:59 | 只看该作者
优化问题,你截图的汇编代码没有操作地址A8

使用特权

评论回复
16
megaf|  楼主 | 2011-7-6 14:34 | 只看该作者
15# mcu5i51
什么A8 ,不明白,

使用特权

评论回复
17
figi| | 2011-7-6 20:50 | 只看该作者
我也不是很明白呢

使用特权

评论回复
18
figi| | 2011-7-6 20:50 | 只看该作者
能说具体些吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:呵呵,赶上中国机器人发展的时代,中国机器人就靠我们这代人了,任重道远。

24

主题

81

帖子

1

粉丝