6626自定义事件使用方法

yangzh · 42次点击 · 3天前

     下面以6626的simple工程,说说自定义事件的使用方法

  1. 定义事件 

    #define TEST_INT_EVT_ID           (EVT_TYPE_USR_FIRST+1)

  2.   定义回调接口函数


    void Test_Int_Handler(void)
    {
        evt_clear(TEST_INT_EVT_ID);
        OM_LOG_DEBUG("test evt\n");
    }
  3. 关联事件和接口函数


        OM_LOG_DEBUG("running(%d): 0x%08X, len: %d, crc: 0x%04X\n", drv_pmu_reboot_reason(), address, length, crc16);
        OM_LOG_DEBUG("temperature=%dC\n", (int)drv_adc_control(ADC_CONTROL_READ_TEMPERATURE, NULL));

        evt_callback_set(TEST_INT_EVT_ID,   Test_Int_Handler);//关联事件和回调
        // simple event timer
        evt_timer_set(&evt_timer_0, 6000, EVT_TIMER_REPEAT, evt_timer_0_handler, NULL);
  4. 调用事件(定时器开启事件)

    static void evt_timer_0_handler(evt_timer_t *timer, void *param)
    {
        OM_LOG_DEBUG("evt timer: %d\n", PMU_TIMER_TICK2MS(drv_pmu_timer_cnt_get()));
       
        //test_mbr_update();
        evt_set(TEST_INT_EVT_ID);
    }
  5. 测试输出如下


    image.png



被收藏 0  ∙  0 赞  
加入收藏
点赞
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站