最近试了一下V1.4.1.43908b协议栈,发现数据最大吞吐量仅600字节/s,比V1.3协议栈差太多了。
不知道是我的测试方法不对还是V1.4.1协议栈本身就是这样的。
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 6
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL (6)
#define DEFAULT_DESIRED_SLAVE_LATENCY 1
unsigned long g_send_dat_cnt=1;
void send_test()
{
uint16 len;
// uint8 i;
bStatus_t status;
g_nData.pValue = (uint8 *)GATT_bm_alloc( 0, ATT_HANDLE_VALUE_NOTI, GATT_MAX_MTU, &len );
//for(i=1;i<20;i++) g_noti.pValue[i] = 0xaa;
g_nData.pValue[0]=g_send_dat_cnt&0xff;
g_nData.pValue[1]=(g_send_dat_cnt>>8)&0xff;
g_nData.pValue[2]=(g_send_dat_cnt>>16)&0xff;
g_nData.pValue[3]=(g_send_dat_cnt>>24)&0xff;
g_send_dat_cnt++;
status=GATT_Notification(0, &g_nData, FALSE);
if ( status != SUCCESS ) { GATT_bm_free( (gattMsg_t *)&g_nData, ATT_HANDLE_VALUE_NOTI ); }
}
//---------------------------
if ( events & SBP_PERIODIC_EVT )
{
osal_start_timerEx( simpleBLEPeripheral_TaskID, SBP_PERIODIC_EVT, 5 );
send_test();
// send_test();
//send_test();
// send_test();
// osal_start_timerEx( simpleBLEPeripheral_TaskID, SBP_PERIODIC_EVT, SEND_PACK_PERIOD ); // Restart timer
//-------------------------------------------------------------------------
return (events ^ SBP_PERIODIC_EVT);//levivi临时