FreeRTOS与两个按钮互锁

时间:2018-02-21 10:55:06

标签: c mutex semaphore esp8266 freertos

我正在尝试确保当button1触发任务时,button2无法触发其任务。

我正在使用此代码,它是否可以完成这项工作?如果两个中断同时发生会发生什么?

void button1_callback(uint8_t gpio_num, button_event_t event) {
    if (up_task_handle == NULL && down_task_handle == NULL) {
        xTaskCreate(button1_task, "UP Task", 128, NULL, 2, up_task_handle);
    }
}

void button2_callback(uint8_t gpio_num, button_event_t event) {
if (up_task_handle == NULL && down_task_handle == NULL) {
    xTaskCreate(button2_task, "DOWN Task", 128, NULL, 2, down_task_handle);
}

谢谢。

0 个答案:

没有答案