找回密码
 立即注册

微信扫码登录

查看: 322|回复: 14

模块8251使用软件串口接收的数据出现乱码

[复制链接]

1

主题

7

回帖

51

积分

不屈白银

积分
51
发表于 2026-5-19 18:00:27 | 显示全部楼层 |阅读模式 来自 广东广州


使用的sdk是 V3.4.2.8_Patch_0001(GitHub),工程使用的是ble_slave_2g4。
移植了软件串口模拟的代码后,使用回环测试,发现接收到的数据会乱码。但是使用 这个sdk里面 feature_soft_uart工程(使用同样的tx,rx引脚),接收到的数据不会乱码。
排查问题发现是 TEST_2P4G_MODE 的影响,当选择NO_TEST_2P4G以后,接收到的数据不会乱码,当选择sdk默认的参数 TPSLL_STX2RX后会乱码。
接着往下排查调用TEST_2P4G_MODE的代码,逐个注释掉相关部分代码,发现在app.c里面"Concurrent mode initialization,"这段代码会影响,注释掉以后 接收到的数据不会乱码,好像是blc_ll_init_concurrent_module();这个的影响,但是为什么呢?实际应用需要ble+2.4g功能,这里能否注释掉?需要怎么解决这个接收乱码的问题?
image.png

img_v3_0211r_f19531cc-41b8-458d-aced-48c56d7c97eg.jpg

0

主题

12

回帖

90

积分

不屈白银

积分
90
发表于 2026-5-22 15:44:39 | 显示全部楼层 来自 上海
blc_ll_init_concurrent_module()是用于ble+2.4g共存模式使能的,注释掉这个接口会导致2.4G业务不执行;你这个现象看着像是2.4G业务频繁触发中断导致uart异常,方便发下你的修改后的sdk吗

1

主题

7

回帖

51

积分

不屈白银

积分
51
 楼主| 发表于 2026-5-23 09:14:08 | 显示全部楼层 来自 广东广州
TL_YLJ 发表于 2026-5-22 15:44
blc_ll_init_concurrent_module()是用于ble+2.4g共存模式使能的,注释掉这个接口会导致2.4G业务不执行;你 ...

可以的,这上面好像发不了文件夹,需要怎么发给你呢?

1

主题

7

回帖

51

积分

不屈白银

积分
51
 楼主| 发表于 2026-5-23 11:41:04 | 显示全部楼层 来自 广东广州
TL_YLJ 发表于 2026-5-22 15:44
blc_ll_init_concurrent_module()是用于ble+2.4g共存模式使能的,注释掉这个接口会导致2.4G业务不执行;你 ...

我传在了github上,https://github.com/KUBE-C/tc_ble ... .2.8_Patch_0001.git
工程ble_slave_2_4g

1

主题

7

回帖

51

积分

不屈白银

积分
51
 楼主| 发表于 2026-5-27 11:33:21 | 显示全部楼层 来自 广东广州
TL_YLJ 发表于 2026-5-22 15:44
blc_ll_init_concurrent_module()是用于ble+2.4g共存模式使能的,注释掉这个接口会导致2.4G业务不执行;你 ...

你好,麻烦再看下这个问题

0

主题

12

回帖

90

积分

不屈白银

积分
90
发表于 2026-5-29 19:44:52 | 显示全部楼层 来自 上海
抱歉,前几天有事忘了这个问题;今天用你给的代码复现了问题,按照1s收发一次uart,平均4-5次会出现一个乱码;目前分析下来应该是下发串口消息的时候,正好处于业务切换的时间点,怀疑是业务切换时的中断配置操作导致UART异常,目前还在分析中;如果你想暂时先规避这个问题,建议提高uart的波特率,减小uart传输时间,避免撞上业务切换时间点。
uart问题.png

0

主题

12

回帖

90

积分

不屈白银

积分
90
发表于 2026-5-29 21:32:04 | 显示全部楼层 来自 上海
本帖最后由 TL_YLJ 于 2026-5-30 14:45 编辑

确认是2.4G业务结束到起BLE广播之间,进入了低功耗相关接口,关闭中断,导致uart异常,这个问题还在看,目前SDK中可以通过将CONCURRENT_THRESHOLD_TIME改小到100以内,可以避免在2.4G业务结束时进入低功耗相关接口,临时规避这个问题。

1

主题

7

回帖

51

积分

不屈白银

积分
51
 楼主| 发表于 2026-6-1 09:36:58 | 显示全部楼层 来自 广东广州
TL_YLJ 发表于 2026-5-29 21:32
确认是2.4G业务结束到起BLE广播之间,进入了低功耗相关接口,关闭中断,导致uart异常,这个问题还在看,目 ...

请问多久能给到一个最终的解决方法呢?CONCURRENT_THRESHOLD_TIME 修改到 100 以内后,对 2.4G 业务稳定性、BLE 功能会有影响吗,有没有推荐设置的参数值大小呢?

0

主题

12

回帖

90

积分

不屈白银

积分
90
发表于 2026-6-1 09:47:52 | 显示全部楼层 来自 上海
解决办法还得和内部团队讨论,目前无法给出一个确定的期限;这个宏建议不要改到太小,因为从2.4G业务结束到BLE业务中间可能还需要时间来进行切换的流程,如果太小会影响到BLE连接业务,但同时也要尽量小,之前我这里试过50是ok的,建议先暂时改到50吧。

1

主题

7

回帖

51

积分

不屈白银

积分
51
 楼主| 发表于 2026-6-1 09:58:58 | 显示全部楼层 来自 广东广州
TL_YLJ 发表于 2026-6-1 09:47
解决办法还得和内部团队讨论,目前无法给出一个确定的期限;这个宏建议不要改到太小,因为从2.4G业务结束到 ...

我这边改到了50,测试还是有乱码的现象,定时100ms发送或者手动快速发送。 image.png image.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 |沪公网安备31011502403548号 )

GMT+8, 2026-6-9 23:15 , Processed in 0.092350 second(s), 24 queries .

Powered by Discuz! 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表