ch573主从机之间怎么进行串口通讯?

使用ch573的官方例程,在主从机成功连接之后,从机串口一直打印RSSI的值?这是正常现象嘛?


如果正常,该怎么把数据由主机送给从机,数据又该怎么串口打印出来?

 

一直打印RSSI是代表主从的信号强度。

在主从连接正常后,主机会给从机发送0x5A的数据,从机会给主机发送0x88的数据。

这里建议先使用手机端BLE调试助手与从机建立连接观察日志,然后使用主从建立连接。

在BLE文件夹下面有相应的开发手册,可自行查看。



好的,多谢


发送的数据以及对应函数已找到了,但主从机连接后并不会直接发送对应数据,是要通过某些操作开启这一功能吗?


因为我在手机BLE调试助手上调试时发现,只有在选中”接收通知数据“选项时才会正常接收从机发送的0x88。


主机程序中是否有对应的操作?如果有的话能不能麻烦告知具体在哪和如何操作?

@TECH_Lpc


主机端这里开启一个使能CCCD的任务,如果相应的UUID对应(默认即对应),则会成功使能,使能后从机端会进行发送0x88的数据(默认):

image.png

主机端收到0x88是在这里,可以类似写一个语句将value具体打印出来:

image.png

主机端发送0x5A是在这里进行的处理

image.png



再次感谢回答,还有一些问题需要麻烦一下。


1、你提到的这一段似乎是从机接收主机所发送的0x5A?

    那主机端收到从机发送的0x88是在哪里呢?

image.png


2、主机端与从机端连接后,从机只会接收一次0x5A,但这一条tmos指令应该是隔1s发送一次,这中间存在什么问题吗?

    如果有问题的话,那应该如何操作让主机与从机的notify消息一直定时收发呢?

image.png


@TECH_Lpc


1、提供TMOS任务讲解作为参考:

WCH TMOS用法详解 - debugdabiaoge - 博客园 (cnblogs.com)

2、主机端收到数据:

1665366430210853.png3、从机端接收一次0x5A是因为默认例程这里取反了:

1665366430142354.png

4、需要调整发送传输速度请调整TMOS的时间参数,上面提供了讲解,且建议自行尝试验证。


再次感谢回答,又有新的问题前来打扰了


主机从机连接后,从机能正常接收主机所发的数据,但是主机的串口输出附近设备地址之后就卡住了,也不会接着显示连接成功蓝牙强度等信息,请问这个问题应该如何解决呢?

image.png

@TECH_Lpc?


下载最新EVT,使用官方提供的开发板,低频晶振设置为内部32K进行验证。


只有登录才能回复,可以选择微信账号登录