芯科蓝牙BG27开发笔记5-有坑就蒙

发布于:2023-09-16 ⋅ 阅读:(59) ⋅ 点赞:(0)

2023.09.12

笔记1中的蓝牙点灯是可以运行的,但是有时又会在连接过程中死机,笔记2中经过调试,通过屏蔽log输出的模块解决了此问题,问题定位到了uart。

那到底uart有什么问题?

在对这套工具和代码不熟悉的情况下,根据以往经验,这是不是串口配置问题?应为串口输出中出现了大量\0,偶尔能冒出一行正确的字符。

顺此思路,代码中检索,似乎没有串口配置,那就看看软件组件中:

尽然这三个组件都没有安装!那工程是如何编译通过的,还有突然冒出来的输出正确是怎么回事?

此两点都有悖于以往的经验。

看到三个组件,安装哪个?

只能阅读文字说明,不行就查下开发文档,再不行就蒙!此处直接蒙:

先安装uart core,右边也是这么说的,再随便选USART,因为我不知道EUSART是什么?

上图2安装时候跳出对串口实例的命名,蒙选vcom。

以上两个安装完毕多出一个子项目:

点进去设置:

完了,编译运行,电脑串口能顺利打印日志,手机连接后不再死机。

唉,这都是蒙的功劳啊。

但是提出了问题:

1. EUSART是什么?

2. 板子原理图确认一下接线

查阅芯片参考手册《EFR32xG27 Wireless Gecko Reference Manual.pdf》(注意这个参考手册需要官网搜索下载,在ssv5中似乎找不到):

答1:

目前我想只需知道这就是一高级串口。

答2:

由于这开发板底板就是美国芯片大杂烩,这玩意儿本身就是入门第一坑……完全做不到简单明了。

只要找到jlink的uart输入即可,这里就从PA5、PA6反推过来吧,这个板子线路经常出现这样的情况,就是底板上不同的接口,实际上是在蓝牙主板中进行了连接,例如此处的VCOM的RX和TX:

在底板上搜索P9与P11是找不到与主控芯片的连接,需要跟踪F6和F7这一分支:

经过中间的若干选通线路最终找到实际连接了st主控的PA9和PA10,到此,该问题得以释疑。(可知此开发板是多么的不友好了)

最后,BG27的UART1引脚说明

PA5:uart-TX,连接EXP12,以及BreakOut的P9

PA6:uart-RX,连接EXP14,以及BreakOut的P11

本文含有隐藏内容,请 开通VIP 后查看