打印
[STM32WB]

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

[复制链接]
692|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。

使用特权

评论回复
5
Bblythe| | 2025-4-8 08:01 | 只看该作者
我当时直接关掉了dbg_trace相关配置,然后用自己配置的USART重新打log,问题就没了。

使用特权

评论回复
6
Pulitzer| | 2025-4-8 08:01 | 只看该作者
你可以在MX_USART1_UART_Init函数里加个断点,确认是不是BleStack_Init后被改掉了初始化。

使用特权

评论回复
7
Uriah| | 2025-4-8 08:02 | 只看该作者
V1.2.0里面多了一些关于低功耗BLE trace的处理,可能默认用了USART1作为HCI log口。

使用特权

评论回复
8
Clyde011| | 2025-4-8 08:03 | 只看该作者
我在Release Notes里看到提到debug trace相关更新,可能是这次改动引起的串口冲突。

使用特权

评论回复
9
公羊子丹| | 2025-4-8 08:04 | 只看该作者
我也升级到V1.2.0了,遇到一模一样的问题,感觉是BleStack_Init初始化的时候动了USART的配置。

使用特权

评论回复
10
周半梅| | 2025-4-8 08:05 | 只看该作者
看起来像是BleStack库内部重定向了printf或者USART1的句柄,我这边也是输出变成了0x30,挺烦的。

使用特权

评论回复
11
帛灿灿| | 2025-4-8 08:06 | 只看该作者
你有没有试试在BleStack_Init之后重新初始化USART1?我这么干之后log正常了。

使用特权

评论回复
12
童雨竹| | 2025-4-8 08:07 | 只看该作者
感觉像是某个中间件加了输出钩子,搞不好是调试宏或者低功耗trace那块影响了USART。

使用特权

评论回复
13
万图| | 2025-4-8 08:08 | 只看该作者
建议你对比下V1.1.1和V1.2.0的app_conf.h或者app_ble.c,可能库版本更新后对串口占用方式改了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1286

主题

6075

帖子

14

粉丝