工控玩家
澧县电气自动化
级别: 家园常客
精华主题: 0
发帖数量: 554 个
工控威望: 772 点
下载积分: 773 分
在线时间: 597(小时)
注册时间: 2008-09-06
最后登录: 2024-11-30
查看工控玩家的 主题 / 回贴
楼主  发表于: 2008-11-24 19:27

这个程序我分别监控D0和D1 。怎么D0=-32767,D1=0我试了很多,大于32767(二进制的15个1)的数,D0都为负数,D1都为0,这是为什么?望高手能给解答。
王锐
向大家学习
级别: 工控侠客
精华主题: 1 篇
发帖数量: 654 个
工控威望: 3295 点
下载积分: 6691 分
在线时间: 1062(小时)
注册时间: 2008-10-24
最后登录: 2014-01-09
查看王锐的 主题 / 回贴
1楼  发表于: 2008-11-29 12:38
一个数据寄存器最大值是32767  若你再加肯定为负  假设传个-1到D0中去  那么实际D0中值应是32767加上32768减去1的值再加上1   由于32767+1等于-32768因此还需在加1