关于CH579主机接收的问题

在使用MultiCentral例程时主机需要接收大于255的数字,于是将下图位置从uint8_t改为uint16_t,但从机发送数据给主机时,主机就会断开链接。屏幕截图 2023-10-19 200023.png

请问如果不能修改,那主机想要接收从机发送的大于255的数据应该怎么操作?

主机使用了下图接收从机发送的数据,如有不对请指正orz屏幕截图 2023-10-19 200023.png



发送超过设置的长度数据,会自动进行分包的,可以将连接间隔调小一些,这样接收的速度会快一些。

注意库里面的函数不要做修改。

或者将MTU配置到最大。

image.png


你好,我主机使用下图屏幕截图 2023-11-01 214251.png接收从机发送来的数据,在串口中显示如下

屏幕截图 2023-11-01 214014.png

从机使用从机例程 SIMPLEPROFILE_CHAR4_LEN为2,在手机接收如下

微信图片_20231101214022.jpg

低位在前,目前我想要主机接收可以像手机接收那样,最好能直接高位在前,应该怎么操作,请指教。主机与从机BLE_BUFF_MAX_LEN都已经改为251,SIMPLEPROFILE_CHAR1_LEN-SIMPLEPROFILE_CHAR4_LEN都修改为2


比如使用从机发送256,现在手机接收到的是00 01,主机串口打印出来的是00,想要主机能接收到0100或者256。


接收数据的地方默认只接收首字节,可以根据长度接收所有的数据:

image.png


image.png


请问怎么接收所有数据呢。


icon_jpg.gif1698497462412746.png

已经使用上图,还需要修改哪些地方


你好,请查看,如果还有问题,可发送邮件至邮箱lpc@wch.cn,我们进行查看。

image.png


已解决,感谢!


你好请问一下CH579按照上图设置了,但是主机接收到的数据还是一堆乱码

image.png

image.png


image.png

image.png


打印数组的内容:

		for(i = 0; i < pMsg->msg.handleValueNoti.len; i++){
			printf("%x ", pMsg->msg.handleValueNoti.pValue[i]);
		}printf("\n");



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