lvcreate命令全部参数(lvcreate命令怎么用)

lvcreate命令全部参数(lvcreate命令怎么用)在前面讲解互斥量时 引入过临界资源的概念 在前面课程里 已经实现了临界资源的互斥访问 本章节的内容比较少 只是引入两个功能 屏蔽 使能中断 暂停 恢复调度器 要独占式地访问临界资源 有 3 种方法 其他任务要跟我抢 我禁止调度器 不运行任务切换 18 1 屏蔽中断 屏蔽中断有两套宏 任务中使用 ISR 中使用 18 1 1 在任务中屏蔽中断 在任务中屏蔽中断的示例代码如下 在

大家好,我是讯享网,很高兴认识大家。



在前面讲解互斥量时,引入过临界资源的概念。在前面课程里,已经实现了临界资源的互斥访问。

本章节的内容比较少,只是引入两个功能:屏蔽/使能中断、暂停/恢复调度器。

要独占式地访问临界资源,有3种方法:

    其他任务要跟我抢?我禁止调度器,不运行任务切换

    18.1 屏蔽中断

    屏蔽中断有两套宏:任务中使用、ISR中使用:

      18.1.1 在任务中屏蔽中断


      讯享网

      在任务中屏蔽中断的示例代码如下:

      在 taskENTER_CRITICA()/taskEXIT_CRITICAL() 之间:

        这套 taskENTER_CRITICA()/taskEXIT_CRITICAL() 宏,是可以递归使用的,它的内部会记录嵌套的深度,只有嵌套深度变为0时,调用 taskEXIT_CRITICAL() 才会重新使能中断。

        使用 taskENTER_CRITICA()/taskEXIT_CRITICAL() 来访问临界资源是很粗鲁的方法:

          18.1.2 在ISR中屏蔽中断

          要使用含有"FROM_ISR"后缀的宏,示例代码如下:

          在 taskENTER_CRITICA_FROM_ISR()/taskEXIT_CRITICAL_FROM_ISR() 之间:

            18.2 暂停调度器

            如果有别的任务来跟你竞争临界资源,你可以把中断关掉:这当然可以禁止别的任务运行,但是这代价太大了。它会影响到中断的处理。

            如果只是禁止别的任务来跟你竞争,不需要关中断,暂停调度器就可以了:在这期间,中断还是可以发生、处理。

            使用这2个函数来暂停、恢复调度器:

            这套 vTaskSuspendScheduler()/xTaskResumeScheduler() 宏,是可以递归使用的,它的内部会记录嵌套的深度,只有嵌套深度变为0时,调用 taskEXIT_CRITICAL() 才会重新使能中断。

            小讯
            上一篇 2025-06-05 18:06
            下一篇 2025-06-13 08:04

            相关推荐

            版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
            如需转载请保留出处:https://51itzy.com/kjqy/183772.html