打印

串口的数据发送问题

[复制链接]
2249|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yangguangaisha|  楼主 | 2012-1-29 22:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
锋康123| | 2012-1-29 23:04 | 只看该作者
你AD采样出来的还是小数吗?

使用特权

评论回复
板凳
gexingyouxian| | 2012-1-29 23:12 | 只看该作者
你的“AB”、“11”是16进制数还是ASCII码?

如果是16进制数,就没有办法看到小数点“.”。

16进制转ASCII码的办法:

1、数值:加0x30。比方“9”,9+0x30=0x39

2、字符:从A开始,大写时为0x41递增,小写时0x61递增。比方“A”0x41、“B”0x42、“a”0x61、“b”0x62

3、其它:小数点0x2e、回车0x0d、换行0x0a

使用特权

评论回复
地板
爱之翼V| | 2012-1-30 15:58 | 只看该作者
楼上讲得不错,学习了

使用特权

评论回复
5
tianm| | 2012-1-30 17:45 | 只看该作者
如果要在串口调试助手上面看小数 就用三楼说的办法

使用特权

评论回复
6
peter_zheng| | 2012-1-31 00:53 | 只看该作者
直接把AD转换的数值发送到上位机串口调试助手,然后换算成实际的数值。

使用特权

评论回复
7
TI_MCU| | 2012-2-1 16:59 | 只看该作者
不知道楼主是要传数据还是为了显示,如果是为了显示转换成文字就可以了。将每一位数字及符号转换成字符送回上位机就可以了。如3楼所说。

如果是想方便地传数据,float型是32位,double型是64位,转换成整数发出去,在上位机上再转换回来就可以了(PC和430都是小端的)。

示例:

float data_to_send = 1.23;
byte *p;

p = (byte *)&data_to_send;
uart_send_byte(*p++);
uart_send_byte(*p++);
uart_send_byte(*p++);
uart_send_byte(*p);

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

168

主题

1522

帖子

3

粉丝