更新:一些简化的代码说明我的定时器设置,错误触发处理程序的问题是我的错误,但另一个问题发生。
static void app_watchdog_second_timer_handler() //每秒钟调用一次,
{
second_coun++;
{br /> uint32_t delay = (co_rand_byte() % 20) * 10 + 30;
APP_SEND_DATA_TIMER = app_easy_timer(delay, sendSensorDataHandler);
}
}
void sendSensorDataHandler(void) //一个周期调用一次
{
APP_SEND_DATA_TIMER = EASY_TIMER_INVALID_TIMER;/ /这条线解决我之前的问题,现在定时器触发正确的处理程序< br / >} < / p > < p >空白resetSendData (void) / / triggerd在某些情况下< br / > {< br / >如果(APP_SEND_DATA_TIMER ! = EASY_TIMER_INVALID_TIMER) / /这条线解决我之前的问题,现在定时器触发正确的处理程序< br / > {< br /> // ---------- 另一个问题出现在这里
APP_SEND_DATA_TIMER = app_easy_timer_modify(APP_SEND_DATA_TIMER, APP_SEND_DATA_TIMER, app_easy_timer_modify)RESET_SEND_DATA_TIME + (co_rand_byte () % 20) * 10); < br / >} < / p > < p >} < / p > < / div > < / div > < / div > < div class =”字段field-name-field-forum-keywords field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >关键词:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / resource-keywords / easy-timer-bug” typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">easy timer bug