阅读:1504回复:3
在D12中,如何从单片机中读取float数据
各位大虾
我在做D12的数据采集,驱动就暂时用了周立功提供的驱动,现在碰到的一个问题是:我要从单片机里读取的数据是float型,但是EsayD12驱动库函数(周立功提供)的只是unsigned char型的,我本来是想在单片机里把float 转换成unsigned char读到PC里后再把unsigned char转换成float,不知道这样做对不对??但我实验后发现结果不对,是不是因为单片机里的存储结构和PC里的存储结构不一致呢!! 请问有没有提供直接读取float类型的驱动库函数呢?? |
|
沙发#
发布于:2004-06-20 19:38
我不清楚,是不是因为字节序的问题?如果实在不行,就改成整数或都字符串来传
|
|
|
板凳#
发布于:2004-07-06 16:39
你做的数据采集速度能达到多少?据说easyd12.dll的
速度比较慢,只有10kbyte/s左右。 |
|
地板#
发布于:2004-07-06 17:51
你可以模仿A/D转换的方法,把float先变成unsigned char,在到上位机把它们转换回来。
比如你的float型的最大值是5,你就把5定为FF,然后根据下式: U=value*0xff/5;(value是待转换的float值,U是转换后的unsigned char),但这样要考虑精度丢失的问题,你两方面衡量一下 |
|