找回密码
 立即注册
查看: 775|回复: 1

关于stc32的freertos的中断抢占实时性问题

[复制链接]

该用户从未签到

1

主题

1

回帖

11

积分

新手上路

积分
11
发表于 2022-12-23 14:55:51 | 显示全部楼层 |阅读模式
想知道目前的freertos程序是否支持在中断中使用rtos的api,如何在中断里切换任务?
目前系统在打开抢占式内核的情况下,中断里的事件触发会在下一个tick后得到任务切换响应,说明timer0的中断会进行切换任务,不过从代码上看任务切换的损耗代价有点大,如果把这一套代码搬到其他中断上,中断效率会非常低下。
目前的解决办法是关闭抢占式内核,这样只会在空闲任务中切换任务,在系统负载不大的情况下,效率会比抢占式内核高
回复 送花

使用道具 举报

  • TA的每日心情
    开心
    2024-5-11 09:06
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    16

    主题

    724

    回帖

    2580

    积分

    超级版主

    积分
    2580
    发表于 2022-12-23 18:05:22 | 显示全部楼层
    FreeRTOS的任务有两种切换方式:抢占式和轮询式
    抢占式:优点为实时性,但系统负荷大
    轮询式:系统负荷小,但实时性差(如果低优先级的任务占用CPU时,高优先级的任务无法及时被执行)
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-21 06:39 , Processed in 0.052281 second(s), 32 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表