[Kinetis] K22F里面怎么把浮点数通过UART发送到PC串口调试软件并显示成浮点数

[复制链接]
 楼主| nolanpeers 发表于 2015-9-24 11:47 | 显示全部楼层 |阅读模式
各位大神,我用的是K22F评估板,芯片是MK22fn512VLH12,cortex-M4上编写了一个波形产生函数,想通过UART发送到PC通过串口调试软件来看数据,怎么得到的是一串乱码?

请问大神,得到的Xin[i]需要什么处理,要转换成char型还是int型?如何才能将Xin[i]得数发送到PC上显示成浮点数。

比如,Xin[100]=1.2345678
那么如何使Xin[100]通过UART发送到PC,串口调试软件上也能显示 1.2345678?

请大神帮忙。谢谢!

for(i=0; i<Size_Datas_1; i++)
{  
        Xin[i] =sin(2*PI*i*8/1000)+
        sin(2*PI*i*10/1000)+
        sin(2*PI*i*12/1000)+
        sin(2*PI*i*22/1000)+
        sin(2*PI*i*45/1000);

        receiveBuff = Xin[i];               //receiveBuff = Xin[i]*32768;

        PUTCHAR(receiveBuff);

请问Xin[i]还需要处理吗?还是直接送给UART发出去?
史迪威将军 发表于 2015-9-24 13:08 | 显示全部楼层
把浮点数转成字符串吧,再通过串口打印出来
 楼主| nolanpeers 发表于 2015-9-24 13:40 | 显示全部楼层
史迪威将军 发表于 2015-9-24 13:08
把浮点数转成字符串吧,再通过串口打印出来

怎么转,有具体步骤吗?我是菜鸟刚开始
FSL_TICS_ZJJ 发表于 2015-9-24 14:03 | 显示全部楼层
本帖最后由 FSL_TICS_ZJJ 于 2015-9-24 14:09 编辑

你使用KSDK里面的工程,可以直接打印浮点的。
  float test=1.25;
  printf("test=%f",test);
大苏牙 发表于 2015-9-24 14:23 | 显示全部楼层
nolanpeers 发表于 2015-9-24 13:40
怎么转,有具体步骤吗?我是菜鸟刚开始

sprintf函数就可以实现吧
 楼主| nolanpeers 发表于 2015-9-24 14:29 | 显示全部楼层
大苏牙 发表于 2015-9-24 14:23
sprintf函数就可以实现吧

不行,我试过了。是不是编写错误还是什么原因。sprintf还是实现不了。你能給我个例子吗?
FSL_TICS_ZJJ 发表于 2015-9-24 14:35 | 显示全部楼层
nolanpeers 发表于 2015-9-24 14:29
不行,我试过了。是不是编写错误还是什么原因。sprintf还是实现不了。你能給我个例子吗? ...

C:\Freescale\KSDK_1.2.0\examples\frdmk22f\demo_apps\hello_world\mdk
用这个例程,然后加上地板楼的代码,看看你那边能不能打印出浮点?
C洛达尔多 发表于 2015-9-24 17:07 | 显示全部楼层
转成字符串就行了
舒斯特尔 发表于 2015-9-24 21:05 | 显示全部楼层
以前都是用sprintf函数将浮点数转换成字符串
李香兰 发表于 2015-9-24 21:24 | 显示全部楼层
是用串口将浮点数都传上来吗
hotyong 发表于 2015-9-25 09:09 | 显示全部楼层
union
{
    float fTest;
    u8 Buf[4];
}test

这个思路来整就可以了。。
侣行天下 发表于 2015-9-25 11:09 | 显示全部楼层
hotyong 发表于 2015-9-25 09:09
union
{
    float fTest;

这个是什么思路啊,没看明白
冰零分子 发表于 2015-9-25 11:23 | 显示全部楼层
侣行天下 发表于 2015-9-25 11:09
这个是什么思路啊,没看明白

联合的元素公用空间
 楼主| nolanpeers 发表于 2015-9-25 11:42 | 显示全部楼层
hotyong 发表于 2015-9-25 09:09
union
{
    float fTest;

这个是什么思路?能不能详细一点?来个例子
charrijon 发表于 2015-9-25 12:41 | 显示全部楼层
汗,UNION的意思就是共享内存,float是32位,就是4个字节,正好可采用buf[4]给读出来
Micachl 发表于 2015-9-25 21:54 | 显示全部楼层
楼主,最后你是怎么处理的啊
 楼主| nolanpeers 发表于 2015-9-30 13:56 | 显示全部楼层
Micachl 发表于 2015-9-25 21:54
楼主,最后你是怎么处理的啊

我还没有用串口呢,直接打印的,开发板可以的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

80

帖子

0

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