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

嵌入式系统的多任务怎么办

huihui163 2017-07-19 浏览量:696
嵌入式系统的多任务怎么办,比如三四个任务,用中断不是也可以吗,
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • STM32的话我建议你还是用FreeRTOS,比UCOS容易上手。理由:FreeRTOS是ST官方支持的操作系统,而且可以在CubeMX里面使用它,非常方便

    网上例程也很多

    而这个UCOS属于前几年比较热门的东西,而且它的教程多数是野火原子这些第三方制作的,可能支持不到位


    多任务的话要用操作系统,创建任务时要指定优先级,即哪个任务先执行哪个任务后执行



    • 发布于 2017-07-19
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:6
  • 如果自编系统,用时分定时分任务。如果用嵌入linux系统,直接利用系统多任务。
    • 发布于2017-07-19
    • 举报
    • 评论 0
    • 0
    • 0

huihui163 回复了 chen0000009 :中断不是也可以吗 回复
chen0000009 回复了 huihui163 :一旦中断优先级太多裸机就不好处理了 回复
chen0000009 回复了 huihui163 :中断优先级太多的话不容易写程序 回复

  • ucos ii 的资料,网上是最多的了,可以用来入门的。入门后再学习其他的,触类旁通的。
    在STM32上的多任务并不是说几个任务同时并行执行也没有Linux那么复杂,也是一个一个的执行的,没有什么难的。只是哪个任务先执行,哪个后执行是由RTOS的调度来确定的。而这个顺序也是你配置的。
    这些任务都你由编程者自己建立的,你在新建一个任务时会有一个优先级,高优先级可以抢占低优先级(前提是没有信号量互锁)。任务由优先级由高到低运行。
    • 发布于2017-07-20
    • 举报
    • 评论 3
    • 0
    • 0
huihui163 回复了 汉云 :用中断优先级不是也可以嘛 回复
汉云 回复了 huihui163 :你不是要多任务么 回复
huihui163 回复了 汉云 :多任务用多个中断处理,和用UCOS来处理有啥不同吗 回复

  • MCU的要跑多任務當然要配合RTOS了

    RTOS會幫您進行調度,排程(scheduling),Task切換或搶占

    所以您要確保您的優先級,讓不是很需要即時處理的Task擺低(如一般計算或者輸出)

    而傳感器讀取和控制通常會和硬體直接交互,時間上較要依賴,所以優先權要較高

    以上只是簡單思維

    供參考


    • 发布于2017-07-20
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

嵌入式系统的多任务怎么办