• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32的临界区或代码保护?

liuxiaofei126 2019-01-26 浏览量:2937
原子的例程中有这个,搞不懂这个啥时临界区,,啥时临界区代码保护?这个临界区在不用操作系统时有用吗
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 临界区这个概念应该是在RTOS系统里面提到的,

    也就是关闭总中断的意思。

    在临界端的程序,即使中断来了,也不会去执行中断的内容,要等退出了中断之后,才会执行中断函数。


    在非RTOS的程序中也有需要用到临界段的功能,

    举个例子,在单总线时序中,有时候因为中断会打断单总线的时序,造成数据出错。

    解决这个问题的最直接的方式就是:在进入单总线时序时开启临界端,保证单总线时序的完整性。

    但是这个可能会影响到其他的程序。这个需要权衡下,

    也可以将单总线程序放到定时器里面去执行。

    • 发布于 2019-01-27
    • 举报
    • 评论 1
    • 0
    • 0
liuxiaofei126 回复了 川楠:就是在软件定时器中怎么应用这个临界区这块 回复

其他答案 数量:12
  • 这个理解就是同一时刻有些关键变量只能由一个线程改变
    • 发布于2019-01-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 临界区内代码执行不允许被打断,否则可能导致系统故障。通常,进入临界区是通过关中断实现的。
    • 发布于2019-01-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 在这个区中的代码要一次性执行完,不可以有中断打断的
    • 发布于2019-01-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 临界区就是不可以被中断打断,进入临界区就是屏蔽所有中断。
    • 发布于2019-01-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 也是有用的啊,也可以保护代码不被中断打断的。
    • 发布于2019-01-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 临界代码,可以看作是原子操作
    • 发布于2019-01-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 临界区的代码就是对你的代码做一个保护,保证你的代码在执行的过程中不会被打断
    • 发布于2019-01-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般用在操作系统环境下
    • 发布于2019-01-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 临界区就是非常关键的代码段,不能被任何情况中断掉
    • 发布于2019-01-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般中断里面会用到临界处理,还有通讯的时候要临界处理,也就是保护操作时不被系统打断
    • 发布于2019-02-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 临界区里面不允许发生操作系统的调度,相当于这段程序是必须连续执行,裸机可以通过屏蔽中断的方式实现,对于敏感操作,如调整RCC配置,就需要
    • 发布于2019-02-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个保护操作时不被系统打断的代码运行
    • 发布于2019-02-24
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32的临界区或代码保护?