ST意法半导体
直播中

丛聪

7年用户 286经验值
私信 关注
[问答]

如何将浮点数或整数值打印到串口?

如何将浮点数或整数值打印到串口?


调试窗口访问是否像'debug.print'那样?如果是,如何访问?有什么例子吗?

谢谢。
麦克风。

以上来自于谷歌翻译


以下为原文




How I can print float or integer values to serial port?


Is debug window access is there like 'debug.print'? If yes, how to access that? Any example for it?

Thanks.
Mike.

回帖(1)

刘鑫

2019-4-16 10:32:51
你好迈克,
 
对于os-less,你必须使用:
chnWriteTimeout(& SD1,(uint8_t *)''Hello World! r  n'',14,TIME_INFINITE);
 
你必须编写自己的函数来显示整数;-)
 
如果您不想重新发明轮子,使用chibios,您可以使用chprintf(参见chibios的命令)
 
 
浮动:(非官方)
 
 
你有 :
在编译器选项中添加''-msoft-float''以通过软件模拟浮点数。
对于Chibios,在chibios.h中,#define CHPRINTF_USE_FLOAT为TRUE
 
 
 
在下一个版本中,我们将更新Platform Component。
 
 最好的祝福
 
 二万

以上来自于谷歌翻译


以下为原文







Hello Mike ,

For os-less , you have to use :
chnWriteTimeout(&SD1, (uint8_t *)''Hello World!rn'', 14, TIME_INFINITE);

You have to write your own function to display an integer ;-)

if you do not want to reinvent the wheel , with chibios , you can use chprintf (cf in commands of chibios)




  • chprintf(chp,

  • ''%.8lx %.8lx %4lu %4lu %9s %lurn''

  • ,


  •            


  • (uint32_t)tp, (uint32_t)tp->p_ctx.sp,


  •            


  • (uint32_t)tp->p_prio, (uint32_t)(tp->p_refs - 1),


  •            


  • states[tp->p_state], (uint32_t)tp->p_time);


for float : (non official)


you have :  
to add ''-msoft-float'' in your compiler option to emulate float by software.
for Chibios , in chibios.h ,  #define CHPRINTF_USE_FLOAT          TRUE




  • chprintf(chp ,

  • ''%f''

  • ...)


in the next releases , we will update Platform Component .

Best regards

                        Erwan
举报

更多回帖

发帖
×
20
完善资料,
赚取积分