[STM32L0] 在cubeide的consol 中使用打印数据功能

[复制链接]
 楼主| zhouyou99 发表于 2025-4-14 11:00 | 显示全部楼层 |阅读模式
使用 cubeide 和 STM32L07x开发程序,想在 consol 中使用打印,以便在 程序运行时时能够实时观察字符串或变量。能实现么,如何配置?
穷得掉渣大侠 发表于 2025-4-15 16:20 | 显示全部楼层
在cubeide中使用打印功能,你可以通过串口调试助手来实现
公羊子丹 发表于 2025-5-28 07:27 | 显示全部楼层
我在 STM32L053 上搞过,用的是 SWV 单线输出,可以在 ITM 里配置通道0,然后 printf 就能进 console 了。
周半梅 发表于 2025-5-28 07:28 | 显示全部楼层
你是用串口还是 SWO 输出?串口的话得配置 UART + printf 重定向,SWO 就得启用 ITM 和 Trace。
帛灿灿 发表于 2025-5-28 07:29 | 显示全部楼层
CubeIDE 里面打开 SWV tracing 要设置 Debug Configuration -> SWV -> Enable,别忘了选 ITM Stimulus Port 0。
童雨竹 发表于 2025-5-28 07:29 | 显示全部楼层
如果用 UART,把 fputc 函数重定向到 HAL_UART_Transmit 就行了,我用这个方法能直接 printf。
万图 发表于 2025-5-28 07:31 | 显示全部楼层
STM32L0 系列有些型号默认关闭 debug 时钟,记得在 RCC 配置里打开 Debug 功能,不然 SWO 不工作。
Wordsworth 发表于 2025-5-28 07:31 | 显示全部楼层
如果你用的是 ST-LINK V2,也得看一下是否支持 SWV,我以前用过某个 clone 版本就不支持……
Bblythe 发表于 2025-5-28 07:32 | 显示全部楼层
要在 console 里看到输出,还得在 Debug 时打开 View -> SWV -> SWV ITM Console,不然看不到输出。
Pulitzer 发表于 2025-5-28 07:33 | 显示全部楼层
你先试个简单的 printf("Hello World\n");,如果串口配置和波特率对了,应该能在 terminal 里看到。
Uriah 发表于 2025-5-28 07:34 | 显示全部楼层
要注意 Stack 大小,printf 占堆栈比较多,我上次没加够 Heap,printf 就出问题了。
Clyde011 发表于 2025-5-28 07:35 | 显示全部楼层
如果你是想在没有串口的板子上 debug 输出,强烈推荐试试 SWV,CubeIDE 配好了之后很好用!
t60yz 发表于 2025-5-31 23:40 | 显示全部楼层
对于低功耗系列(如 L0),调试串口需确保时钟已经开启
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

39

帖子

0

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