union {
float fdata;
unsigned char byte[4];
}data_change;
fdata中存放转换前得浮点数,而字符型数组byte直接对应浮点数在计算机中以二进制存储的四个字节。通过对字符型数组的简单的加减法及移位计算就可以快速在两种存储格式之间转换。 实际测试时,采用共同体的数据转换在响应时间上要明显优于未采用共同体的数制转换,提高了串口 通信 的实时性。
4 结论
本文创新点:(1)将 嵌入式 Linux系统应用于 无纸记录仪 ,使得该装置体积小,功能强,实时性能及可扩展性能良好;(2)实现了MODBUS协议中RTU与ASCII传输模式的共存,使无纸记录仪具有更强的通用性;(3)通过在数据转换编程中采用共同体这方面的改进,提高了无纸记录仪串口通信的实时性。
参考文献:
[1] 杨兆昂,王俊峰,应忍冬,等.基于ARM的无纸记录仪系统设计[J]微计算机信息.2005(21):97-98
[2] 李善平,刘文峰,王焕龙,等. Linux与嵌入式系统[M].北京:清华大学出版社,2003
[3] MoDICon Modbus Protocol Reference Guide. PI-MBUS-300Rev.J, 1996
[4] ButenhofD.R. Progamming with POSIX Threads [M]. Addison-Wesley, 1997
[5] OriPomerantz.The Linux Kernel Module Programming Guide. http://www.linuxdoc.org/[EB/OL ], 1999