lanjinghao
师夷洋技以制夷!!!
级别: 略有小成
精华主题: 0
发帖数量: 21 个
工控威望: 234 点
下载积分: 600 分
在线时间: 21(小时)
注册时间: 2009-05-06
最后登录: 2012-09-18
查看lanjinghao的 主题 / 回贴
楼主  发表于: 2009-07-15 10:58
  程序说明:EM235用采样交流电压信号,1ms执行一次采样中断。将采样值存储到VW4000~VW4198中100个空间。并将VW4000~VW4198的值在触摸屏显示出来,用于观察交流电压信号波形。现在建立一个指针VD4488,并且把指针指向VW4000地址。然后将AIW0赋给×VD4488,然后VD4488加2进行指针偏移。当VD4488=4198时再重新初始化指针VD4488。

AIW0数据处理




数据存储处理




-----------------------
现在问题出来了: VD4488的值竟然为134222128,而不是4000~4198之间的值。无法执行指针偏移以下的指令。这是为什么啊?VD4488存储空间的值应该是个地址啊,怎么会是134222128?
伟大的光荣的正确的中国人民万岁!!
lanjinghao
师夷洋技以制夷!!!
级别: 略有小成
精华主题: 0
发帖数量: 21 个
工控威望: 234 点
下载积分: 600 分
在线时间: 21(小时)
注册时间: 2009-05-06
最后登录: 2012-09-18
查看lanjinghao的 主题 / 回贴
1楼  发表于: 2009-07-16 11:14
怎么没人指导啊?
我用填表指令解决这个问题了,还是搞不懂上面的指针问题
伟大的光荣的正确的中国人民万岁!!
lanjinghao
师夷洋技以制夷!!!
级别: 略有小成
精华主题: 0
发帖数量: 21 个
工控威望: 234 点
下载积分: 600 分
在线时间: 21(小时)
注册时间: 2009-05-06
最后登录: 2012-09-18
查看lanjinghao的 主题 / 回贴
2楼  发表于: 2009-07-17 08:09
指针我已经建立了,在初始化时就建立了。没有贴出来而已。WOVD &VB4000 VD4488.
按理来说VD4488存储空间的值应该是VB4000的地址了,那VD4488的值是否为4000?
伟大的光荣的正确的中国人民万岁!!
lanjinghao
师夷洋技以制夷!!!
级别: 略有小成
精华主题: 0
发帖数量: 21 个
工控威望: 234 点
下载积分: 600 分
在线时间: 21(小时)
注册时间: 2009-05-06
最后登录: 2012-09-18
查看lanjinghao的 主题 / 回贴
3楼  发表于: 2009-07-17 15:03
呵呵,谢谢楼上的指导。上午我用指针加计数器勉强解决这个问题,你提出的方案更好一些。我已经把指针处理的程序移到中断之外了,中断仅仅做数据采样,而且我发现调用库里头的数据处理子程序算出来的数据有问题,可能和1ms的中断时间太短有关。后来改为自己计算处理,勉强能得出合理的数据。这个程序主要是想显示电压波形,没办法50HZ工频只能用1ms的中断来采样了。

现在还有个问题是,触摸屏不能显示负整型数值,也就是说不能显示负值,把正负标志位当成1来显示了,有什么办法来解决这个问题啊?改为实数也有这个问题。   
伟大的光荣的正确的中国人民万岁!!
lanjinghao
师夷洋技以制夷!!!
级别: 略有小成
精华主题: 0
发帖数量: 21 个
工控威望: 234 点
下载积分: 600 分
在线时间: 21(小时)
注册时间: 2009-05-06
最后登录: 2012-09-18
查看lanjinghao的 主题 / 回贴
4楼  发表于: 2009-07-17 16:08
ac0是不是全局变量?从程序中发现好像是局部变量啊
伟大的光荣的正确的中国人民万岁!!