微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > osal_start_timerEx的时间和数据发送速率问题

osal_start_timerEx的时间和数据发送速率问题

时间:10-02 整理:3721RD 点击:

按键部分程序如下:

  1. 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

    }

复制代码

事件中的处理如下:

  1. 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) ;


  2. 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了,但是被什么限制还不清楚,有关定时器取值范围有地方进行定义了吗 ?求大家指点


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top