打印

PIC编译过后的数组值发生变化了,求解决方法?

[复制链接]
1854|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hmg6681|  楼主 | 2012-10-21 11:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我用的单片机是pic16f1503,编译器是picc v9.83,程序编译过后,用软件仿真看数组的值,发现数组值发生很大的变化,目前还没找到解决办法,万能的坛,求解决办法。。。。。。等待中,下面是数组和编译后数组的值
沙发
与时俱进| | 2012-10-21 16:44 | 只看该作者
怎么回事?我手机看不到图,帮不上忙。

使用特权

评论回复
板凳
Ryanhsiung| | 2012-10-21 17:15 | 只看该作者
不清楚,看实际的数据低位是正常的。
猜测:1、IDE的BUG,这个可能性较大
      2、编译器的BUG

使用特权

评论回复
地板
与时俱进| | 2012-10-21 18:42 | 只看该作者
应该不是bug,可能是你搞错了。你不要用watch窗口看常数数组。
常数整形数组被编译成两条   retlw  xx  语句。你要看P0x4 ,P0x5两单元的低字节是不是(894)d

使用特权

评论回复
5
与时俱进| | 2012-10-21 18:45 | 只看该作者
对了  894=0x37e  你的P0x4是0x347e  这个是对的;P0x5就应该是0x3403,你可以查查看。

使用特权

评论回复
6
hmg6681|  楼主 | 2012-10-23 17:16 | 只看该作者
谢谢与时俱进,确实像你说的一样,这样我就理解了,非常感谢

使用特权

评论回复
7
Ryanhsiung| | 2012-10-24 08:01 | 只看该作者
学习了一下!

使用特权

评论回复
8
hmg6681|  楼主 | 2012-10-27 13:50 | 只看该作者
问题也解决,结贴吧

使用特权

评论回复
9
与时俱进| | 2012-10-27 20:22 | 只看该作者
8# hmg6681 楼主本人才可以结贴。

使用特权

评论回复
10
hmg6681|  楼主 | 2012-10-30 13:30 | 只看该作者
哦,我找找:L

使用特权

评论回复
11
wdlzxc| | 2012-10-30 16:58 | 只看该作者
我试了一下,还是有点不好解释,我这里是段码显示本来是char, 改成INT

a.JPG (240.1 KB )

a.JPG

使用特权

评论回复
12
与时俱进| | 2012-11-2 09:22 | 只看该作者
楼上是什么意思能说得详细些吗?

使用特权

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

本版积分规则

3

主题

9

帖子

0

粉丝