问题: 当主机自动每2000ms发送数据给从机时(使用GATT_WriteCharValue写特征值),从机可正常接收数据并在串口是显示出来
但主机每隔1000ms发送数据给从机时,从机一直不能接收和显示数据。
请问要如何配置才能使从机快速接收数据
具体测试数据如下:
主机机每隔2000ms周期性事件发送,从机接收显示 (可完全接收显示出来)
Advertising
Connected
Pairing started
Pairing success
char1: 1 char1: 2 char1: 3 char1: 4 char1: 5 char1: 6 char1: 7 char1: 8 char1: 9
主机1500ms周期性事件发送,从机接收显示 (可部分接收显示)
Advertising
Connected
Pairing started
Pairing success
char1: 2 char1: 3 char1: 4 char1: 5 char1: 7 char1: 9
主机1000ms周期性事件发送,从机接收显示 (后面的一直不能接收显示)
Advertising
Connected
Pairing started
Pairing success
char1: 1char1: 2
(后面的数据没有显示)
蓝色天空:
修改连接间隔吧。
JIAN ZHAO2:
回复 蓝色天空:
谢谢,已解决,主要修改如下(主机中)
// Minimum connection interval (units of 1.25ms) if automatic parameter update request is enabled#define DEFAULT_UPDATE_MIN_CONN_INTERVAL 100//400
// Maximum connection interval (units of 1.25ms) if automatic parameter update request is enabled#define DEFAULT_UPDATE_MAX_CONN_INTERVAL 200//800
if(events & START_UPCONN_EVT) { GAPCentralRole_UpdateLink( simpleBLEConnHandle, DEFAULT_UPDATE_MIN_CONN_INTERVAL, DEFAULT_UPDATE_MAX_CONN_INTERVAL, DEFAULT_UPDATE_SLAVE_LATENCY, DEFAULT_UPDATE_CONN_TIMEOUT ); flg_conn_update=1; return (events ^ START_UPCONN_EVT); }