[STM32WB] STM32WBA52CG 升级到STM32Cube FW_WBA V1.2.0后,调用BleStack_Init后,USART1输出异常

[复制链接]
911|12
 楼主| laocuo1142 发表于 2023-12-19 09:13 | 显示全部楼层 |阅读模式

使用STM32WBA52CG开发蓝牙,板子是NUCLEO-WBA52CG,USART1作为log输出通道。之前使用STM32Cube FW_WBA V1.1.1没什么问题。最近升级了STM32Cube FW_WBA V1.2.0后,发现USART1输出的log乱码了。转换程16进制数是0x30。通过使用printf添加log,发现是在调用了BleStack_Init函数后,USART1固定输出0x30。而这个函数时ST官方提供的蓝牙库里面提供的API,没有源码,很无奈
dongnanxibei 发表于 2024-1-12 16:01 | 显示全部楼层
查看底层对应代码啊,对比两个版本底层代码改了什么
dongnanxibei 发表于 2024-1-12 16:02 | 显示全部楼层
API没源码是什么问题,是封装到LIB了?如果不行,还是换回老版本吧。
Wordsworth 发表于 2025-4-8 08:00 | 显示全部楼层
看下是不是有UTIL_ADV_TRACE之类的宏启用了?那个trace模块会自动绑定USART1。
Bblythe 发表于 2025-4-8 08:01 | 显示全部楼层
我当时直接关掉了dbg_trace相关配置,然后用自己配置的USART重新打log,问题就没了。
Pulitzer 发表于 2025-4-8 08:01 | 显示全部楼层
你可以在MX_USART1_UART_Init函数里加个断点,确认是不是BleStack_Init后被改掉了初始化。
Uriah 发表于 2025-4-8 08:02 | 显示全部楼层
V1.2.0里面多了一些关于低功耗BLE trace的处理,可能默认用了USART1作为HCI log口。
Clyde011 发表于 2025-4-8 08:03 | 显示全部楼层
我在Release Notes里看到提到debug trace相关更新,可能是这次改动引起的串口冲突。
公羊子丹 发表于 2025-4-8 08:04 | 显示全部楼层
我也升级到V1.2.0了,遇到一模一样的问题,感觉是BleStack_Init初始化的时候动了USART的配置。
周半梅 发表于 2025-4-8 08:05 | 显示全部楼层
看起来像是BleStack库内部重定向了printf或者USART1的句柄,我这边也是输出变成了0x30,挺烦的。
帛灿灿 发表于 2025-4-8 08:06 | 显示全部楼层
你有没有试试在BleStack_Init之后重新初始化USART1?我这么干之后log正常了。
童雨竹 发表于 2025-4-8 08:07 | 显示全部楼层
感觉像是某个中间件加了输出钩子,搞不好是调试宏或者低功耗trace那块影响了USART。
万图 发表于 2025-4-8 08:08 | 显示全部楼层
建议你对比下V1.1.1和V1.2.0的app_conf.h或者app_ble.c,可能库版本更新后对串口占用方式改了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1296

主题

6239

帖子

15

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