[STM32F0] STM32F0308-DISCO板在串行口上打印变量值

[复制链接]
510|11
内核558 发表于 2025-9-22 02:18 | 显示全部楼层 |阅读模式
如何使用STM32F0308-DISCO板通过FTDI在外部串行口上打印变量值。
我已经试了UART示例,但只能打印字符消息,无法打印任何变量的值。
如何实现呢?

公羊子丹 发表于 2025-9-22 07:21 | 显示全部楼层
你是不是直接用printf只输出字符串了?变量的话要用格式化输出,比如%d、%f这些。
周半梅 发表于 2025-9-22 07:22 | 显示全部楼层
STM32F0库里的printf默认不带浮点支持,要么开编译选项,要么自己转成字符串再发。
帛灿灿 发表于 2025-9-22 07:23 | 显示全部楼层
我之前也用过0308-DISCO,直接重定向printf到USART就能打印变量,代码几行搞定。
童雨竹 发表于 2025-9-22 07:24 | 显示全部楼层
你说只能打印字符消息,估计是没把变量转成字符串,试试sprintf先存到buffer再发。
万图 发表于 2025-9-22 07:24 | 显示全部楼层
如果只是调试,推荐用SWD的ITM printf,串口占用太麻烦。
Wordsworth 发表于 2025-9-22 07:25 | 显示全部楼层
用FTDI接电脑的话,确认一下波特率,字符对了变量也能正常显示。
Bblythe 发表于 2025-9-22 07:27 | 显示全部楼层
打印整数最简单,printf("x=%d\r\n", value);就行了,你试过没?
Pulitzer 发表于 2025-9-22 07:29 | 显示全部楼层
需要浮点的话,编译参数里加上-u _printf_float,否则输出会是问号。
Uriah 发表于 2025-9-22 07:29 | 显示全部楼层
有人用轻量化的方法,不用printf,自己写个itoa或者utoa函数转换变量。
Clyde011 发表于 2025-9-22 07:30 | 显示全部楼层
你能贴下代码片段吗?大家看下就知道问题出在哪了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

50

帖子

0

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