wcy 发表于 2007-6-6 11:54:12

LV怎么处理串口传来的负数(补码表示的)

参考了论坛开发板教程上的一个例子,如图,但是从加1的模块输入的数据就不对了,很奇怪的一个值

hddgf 发表于 2007-6-7 06:57:07

没有那样麻烦,很简的,穿过来的是ascii码,再转回实数数组,就ok


我可以给您提供AVR mega16芯片的串口数据采集板,配合labview应用,8通道10位精
度,采样率10Hz,数据格式可以按你的要求。自己开发的数据采集板,能够满
足一般试验和生产数据采集需求。如有兴趣,我可以给您更详细的资料,我希望我的数据采集
板能够为您的学习和工作带来乐趣和便捷。

wdyjz 发表于 2007-6-7 09:16:47

解决办法:采用数字的与的关系就可以,比如你是16位的AD,高8位的数据和80H与,如果结果是00H,说明最高位是0,表示正数;如果结果是80H,则表示最高位是1,为负数;根据此符号的判断,将最高位的符号位变为0,然后才用我以前提交过的“串口字节数据合并终结版”程序进行16进制的字符串合并,并转化为10进制的数据,根据符号位的正负,进行是否*-1,或者直接取反。

wcy 发表于 2007-6-7 17:08:44

回复 #3 wdyjz 的帖子

谢谢wdyjz版主,搞定了
页: [1]
查看完整版本: LV怎么处理串口传来的负数(补码表示的)