向Com口传Float

[复制链接]
2521|10
 楼主| juventus9554 发表于 2011-8-25 15:04 | 显示全部楼层 |阅读模式
float a=17.98
要想向Com口传a,该怎么写?
chuxh 发表于 2011-8-25 15:13 | 显示全部楼层
typedef union
{
    uchar byte[4];
    F32 vf;
}F32_UCHAR;

F32_UCHAR fp;

fp.vf = 17.98;

SBUF = fp.byte[0];
delay();
SBUF = fp.byte[0];
....
栩栩如生 发表于 2011-8-25 15:19 | 显示全部楼层
看看C语言的联合体跟结构体资料
supernan 发表于 2011-8-25 15:25 | 显示全部楼层
float不就是4个字节嘛,把4个字节取出来,发送就行了
 楼主| juventus9554 发表于 2011-8-25 15:29 | 显示全部楼层
怎么搞?
supernan 发表于 2011-8-25 15:36 | 显示全部楼层
(unsigned char *)(&a)[0]
(unsigned char *)(&a)[1]
(unsigned char *)(&a)[2]
(unsigned char *)(&a)[3]
 楼主| juventus9554 发表于 2011-8-25 15:42 | 显示全部楼层
好的,多谢
 楼主| juventus9554 发表于 2011-8-25 15:56 | 显示全部楼层
结贴。。。
David_ming 发表于 2011-8-26 23:36 | 显示全部楼层
(unsigned char *)(&a)[0]
(unsigned char *)(&a)[1]
(unsigned char *)(&a)[2]
(unsigned char *)(&a)[3]
supernan 发表于 2011-8-25 15:36

挺好的方法
David_ming 发表于 2011-8-26 23:38 | 显示全部楼层
for(char i = 0; i < sizeof(float); i++)
{
    SBUF = (unsigned char *)(&a)[i];
    while(TI == 0);
    TI = 0;
}
司徒老鹰 发表于 2011-8-28 17:17 | 显示全部楼层
楼主的也不错:lol
您需要登录后才可以回帖 登录 | 注册

本版积分规则

900

主题

12190

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部