打印

难道是KEIL MDK的BUG吗?!!有图为证,郁闷~~

[复制链接]
2898|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
就是当你在线仿真调试的时候,变量多的时候MDK的变量(有些是不能显示出来,)
我不知道这算不算是BUG,现在我把我个人经历写出来,希望同行有类似经历时,多留个心眼,换个思维解决,说不定不是你的错!

在我的程序中,刚开始是KEIL MDK建立的。
用到DMA+ADC+TIMER1,即把ADC得数据放到一个变量ADC_convertedValue[N]中去(N>32)。
在我硬件仿真的时候一直发现变量ADC_convertedValue[N](当然是MDK),DMA传完后的数据很奇怪,有些数据正常,但是有些数据一直是0。 但更奇怪的是ADC_convertedValue[32]这个变量中的数据永远是0!(虽然我有过怀疑数据出错,但是看到前面一部分的数据都是对的,所以就认为数据没有错)眼见为实(当然是编译器仿真的时看到的), 加上我一直很信赖编译器。所以我怀疑程序有问题。但是无论我怎么改程序,都是那样(这一段浪费我的很多时间,以天计算,因为无法解决,好多天都不去搞它了。后来终究又放不下,又搞,这样反反反复复~~),在无论怎样改程序都没有改善的情况下,我换了个思维,即把转换的数据通过串口发到PC上看。 这一看,惊呆了,数据都正常,没有变量是0的,这样就的结果使我一下懵了,让我知道了,原来不是程序的问题。 竟然是编译器欺骗了我!! 郁闷,大咒,TMD的垃圾(和IAR相比,编译器超慢,简直是牛车)。
为了证明是MDK的错误,我把工程移至到IAR EWARM,发现数据也是正常的。
真后悔当初~~~
有图为证:

QQ截图未命名.png (7.04 KB )

QQ截图未命名.png

QQ截图未命名B.png (7.97 KB )

QQ截图未命名B.png
沙发
hgjinwei| | 2010-6-15 08:09 | 只看该作者
个人认为对于数组型数据,直接看 Memory Windows 比较直观。

使用特权

评论回复
板凳
IJK| | 2010-6-15 08:46 | 只看该作者
同意LS的说法。其实这种问题,知道就好办了。

使用特权

评论回复
地板
司徒老鹰| | 2010-6-15 10:40 | 只看该作者
还有这事啊

使用特权

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

本版积分规则

9

主题

50

帖子

1

粉丝