串口通信中整型和浮點型数据的处理和发送.docVIP

  • 8
  • 0
  • 约2.77千字
  • 约 4页
  • 2016-11-27 发布于重庆
  • 举报

串口通信中整型和浮點型数据的处理和发送.doc

串口通信中整型和浮點型数据的处理和发送

串口通信中整型和浮点型数据的处理和发送 ???? 在做下位机通信时往往会用到串口,包括下位机将数据传输给上位机,或者是下位机与下位机之间进行数据传输,这时候就会遇到发送数据的问题,单片机通过串口 发送数据时往往是一次一个字节(8位),如果传输char(8位)型数据则很好办,只需要直接发送就可以了,但是在发送int型数据和float型数据时 就会稍微有些复杂。 ??? 下面就以常用的8位单片机89c51为例来进行说明。 ??? 当发送int型或long型数据时还比较简单,一个int型数据是16位,long是32位,把int型/long型数据变成2/4个char型数据发送出去就可以了,程序如下 void long_char(unsigned long l,unsigned char *s) { ??? *s = l24; ??? *(s+1) = l16; ??? *(s+2) = l8; ??? *(s+3) = l;? } 在串口助手上就可以接收到相应的long型数据了。 ??? 当发送float型数据时稍微有些复杂。下面简单介绍下float型数据在内存中的存储方式(double类似,以下部分参考了别人的博客)。 ??? float遵从的是IEEE R32.24 在存储中都分为三个部分: 1.符号位(Sign) : 0代表正,1代表为负 2.指数位(Exponent):用于存储

文档评论(0)

1亿VIP精品文档

相关文档