• RTOS二值信号量使用流程


    1.初始化二值信号量句柄

    SemaphoreHandle_t BinarySemaphore; 

    2.创建二值信号量

    BinarySemaphore=xSemaphoreCreateBinary();

    3.二值信号量的释放

    BaseType_t xHigherPriorityTaskWoken;

    xSemaphoreGiveFromISR(BinarySemaphore,&xHigherPriorityTaskWoken);

    4.获取二值信号量

    BaseType_t err=pdFALSE;

    err=xSemaphoreTake(BinarySemaphore,portMAX_DELAY);  //portMAX_DELAY用于设置死等,也可设置数字表示二值信号量的阻塞时间,超过阻塞时间程序会继续往下执行,否则就一直等待

    if(err==pdTRUE)获取信号量成功标志(用于定时阻塞时间内等待二值信号量)

    5.任务切换

      二值信号量释放后如需要可做一次任务切换

    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);

  • 相关阅读:
    数据取证任务
    VMware虚拟机重置密码
    pon(无源光纤网络)
    Gpon与Epon的区别
    DNS相关
    牛人博客收集
    值得细细品读的URL资源
    SQL注入
    IPSec方案部署(多业务场景)
    python专题-函数式编程
  • 原文地址:https://www.cnblogs.com/qingyunboke/p/12806660.html
Copyright © 2020-2023  润新知