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

STM32中的Pendsv是做什么用的?

牛妞小小 2020-06-25 浏览量:3330
STM32中的Pendsv是做什么用的?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • PendSv:可悬挂异常。这里的所谓可悬挂的意思就是可以延期执行对应的异常处理服务函数。只有在当前没有更高级优先级的异常或者中断需要执行时,才能执行对应的异常服务函数,即相当于对应的异常服务函数是挂起待执行的(该类异常命名的来源)。

    从上面的解释我们可以看出

    1. 具体该类异常是可以定义优先级的

    2. 该类类异常处理服务函数的执行时是可以被更高优先级的中断触发等打断(中断)

    3. 某个具体该类异常处理服务函数的执行世纪 受 触发异常时 运行状态的影响,这些运行状态主要包括:

       3.1 同时触发的其他异常或者中断情况

       3.2 其他异常或者中断的优先级情况

       只有当前PendSV具有最高优先级时才可能立即执行,否则都会挂起等待

    • 发布于 2020-06-26
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • PendSV是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它,OS 可以利用它“缓期执行”一个异常——直到其它重要的任务完成后才执行动作。悬起 PendSV 的方法是:手工往NVIC的 PendSV悬起寄存器中写 1。悬起后,如果优先级不够高,则将等待延后执行。
    • 发布于2020-06-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是可悬起异常,是优先级最小的一个中断,用于在RTOS中处理系统异常并恢复的一个中断.
    • 发布于2020-06-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是可挂起异常中断,一般RTOS里面用来暂缓处理一个异常事件
    • 发布于2020-07-05
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32中的Pendsv是做什么用的?