求教一个关于凌华PXI-9820数据存储的问题 点击:1120 | 回复:4



侍剑

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 7回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2004年12月14日
发表于:2005-05-11 16:41:00
楼主
我现在用的是WD_AI_ContVScale(card, range, gnBuffer(0), Volt(0), dma_size * 2) 存Volt值,这是个很长的电压值,所以我希望能存原始的gnBuffer值可以缩小存储文件大小,可是我读上的gnBuffer是负数,而且我看不懂和对应电压值之间是如何换算的。以下是我同时取上的几个典型gnBuffer和Volt数据: -1, 4.9993896484375 ; -32606,-4.901123046875; 看这两个值我感觉可能是+/-5V在-32768~0 之间划分,那么的话,大概gnBuffer=-16384时Volt=0;但是另几个数据看了就不对了: -16775,4.7613525390625; -21631,1.7974853515625; -19752,2.9443359375; gnBuffer与Volt之间到底该怎么换算啊? 请高手指点啊。。。



fish007

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 22回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2005年1月21日
发表于:2005-05-16 20:41:00
1楼
gnBuffer的数据类型应该是无符号整型,范围:0-65535,当你把这个数赋值给一个有符号整型时,当数据大于16383,既二进制最高为"1"计算机会认为这个数为负数!

侍剑

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 7回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2004年12月14日
发表于:2005-05-25 11:35:00
2楼
那请问,现在我想要取得gnbuffer值该怎么实现呢? 因为在 WD_AI_ContVScale(card, range, gnBuffer(0), Volt(0), dma_size * 2) 中gnbuffer只能为integer 所以现在取上的数是负的,请问谁知道上面这个函数又是怎样转换这些“-”的gnbuffer成volt的呢??

fish007

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 22回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2005年1月21日
发表于:2005-05-25 12:55:00
3楼
将gnbuffer强制转换为UINT型,既 UINT AA = gnbuffer(0);

fish007

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 22回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2005年1月21日
发表于:2005-05-25 12:56:00
4楼
将gnbuffer强制转换为UINT型,既 UINT AA = (UINT)gnbuffer(0);

热门招聘
相关主题

官方公众号

智造工程师