大佬们,请教个连接失败的问题。
ch582m做slave,电脑是master。
用wch-ble 分析仪器抓到数据如下,
主机发送的SN和ch582m发过去的NESN相同,表明主机未收到ch582m发送的数据包。
请问下有可能是什么原因造成这种情况,该不会是微小的时钟偏差导致的吧。
有什么改进的办法。
大佬们,请教个连接失败的问题。
ch582m做slave,电脑是master。
用wch-ble 分析仪器抓到数据如下,
主机发送的SN和ch582m发过去的NESN相同,表明主机未收到ch582m发送的数据包。
请问下有可能是什么原因造成这种情况,该不会是微小的时钟偏差导致的吧。
有什么改进的办法。
①设备端没有回包,或者回包了但是主设备没有接收到;
②流量控制。设备一旦没有足够的缓冲区空间来处理消息,可以不更新下一个期望序列号。这将迫使对端设备重发当前消息,接收到的重发信息忽略;
③CRC校验失败,数据包接受出错两次则设备停止当前事件,并在下一次连接重传。这样一来,如果某信道因干扰产生了拥堵,两设备很快能发现干扰,并停止使用该信道,下一个连接事件到来时将更新新的信道,干扰随即减轻,数据又可以快速地传给对方。
针对上述问题,使用开发板烧录官方最新下载EVT的peripheral例程与手机的APP端进行连接并抓包进行查看。
如果使用系统的蓝牙进行连接存在输入密码之前SN码不对应的情况,在正确输入密码之后则无问题。
且使用的582是作为从机,因此可以使用内部32K,同时注意32M晶振使用10PPM、12PF的规格,均不需要外界匹配电容。