|
osal_start_timerEx的时间和数据发送速率问题
[复制链接]
按键部分程序如下: if ( keys & HAL_KEY_SW_4 ) { #ifdef ZCL_LOCATION if ( key4Toggle == 0 ) { osal_start_timerEx( zclLightAlarm_TaskID, LIGHTALARM_LOCATION_TIMEOUT_EVT, IntervalValue ); HalLedSet(HAL_LED_1, HAL_LED_MODE_ON); key4Toggle = 1; } else { osal_stop_timerEx( zclLightAlarm_TaskID, LIGHTALARM_LOCATION_TIMEOUT_EVT ); HalLedSet(HAL_LED_1, HAL_LED_MODE_OFF); key4Toggle = 0; } #endif }
复制代码 事件中的处理如下: if ( events & LIGHTALARM_LOCATION_TIMEOUT_EVT ) { AF_DataRequest(&dstAddrTest, &Light_Alarm_TestEp, ZCL_CLUSTER_ID_GEN_BASIC, DataNum, (unsigned char*)test_buf, &transID, 0, AF_DEFAULT_RADIUS) ;
osal_start_timerEx( zclLightAlarm_TaskID, LIGHTALARM_LOCATION_TIMEOUT_EVT, 10 ); return ( events ^ LIGHTALARM_LOCATION_TIMEOUT_EVT ); }
复制代码 测了一下,114是一个分界点,定时时间大于114的话没问题,定时时间小于114的话就会每隔114ms才进入时间一次,问什么呢?
然后发送数据,每次传90字节,最大传输速率就是(1000/120)*90=750字节/秒了,不应该这么小吧,所以我认为是被哪里的设置给限制到114ms了,但是被什么限制还不清楚,有关定时器取值范围有地方进行定义了吗 ?求大家指点
|
|