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

STM32中的Pendsv是用来做什么的

牛妞小小 2020-06-11 浏览量:767
STM32中的Pendsv是用来做什么的,为什么要加这么一个寄存器?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • PendSV是可悬起异常 典型使用场合是在不同任务之间切换

    ​OS 可以利用它“缓期执行”一个异常——直到其它重要的任务完成后才执行动作​

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

其他答案 数量:4
  • 主要用在系统中的上下文切换上,和延时执行异常信号,当重要 的任务执行完成后,再处理异常,增加实时性
    • 发布于2020-06-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 是用于处理芯片工作异常的 ,可以确保芯片芯片工件的稳定,在有异常时可以对应的处理
    • 发布于2020-06-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个寄存器是悬起异常的,一般在移植操作系统的时候需要利用这个函数,这样可以让操作系统可以延时处理这个异常
    • 发布于2020-06-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 1.这个是可悬挂异常。如果当前没有更高优先级的异常或者中断需要执行,那么就执行pendsv的异常服务函数。 可以看出它有个特点,就是 缓期执行。cpu先执行比它高的服务函数,然后在执行它,

    2.OS 可以利用它“缓期执行”一个异常——直到其它重要的任务完成后才执行动 作。悬起 PendSV 的方法是:手工往 NVIC的 PendSV悬起寄存器中写 1。悬起后,如果优先级不够 高,则将缓期等待执行。

    3.FreeRTOS就是利用了这个特性,来显示 任务切换的。

    望采纳!!

    • 发布于2020-07-02
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32中的Pendsv是用来做什么的