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

stm32跑RTOS的问题

DengQilong 2017-12-08 浏览量:643
单片机是怎么实现任务切换的?为什么必须用汇编实现,无法用C实现吗?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 用到汇编是为是提高效率,更快的找到最高优先级的任务。

    http://blog.csdn.net/zhzht19861011/article/details/51418383​


    捕获c3wzcfd.PNG

    • 发布于 2017-12-08
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :https://ww1.microchip.com/downloads/en/DeviceDoc/20006390B.pdf 回复

其他答案 数量:3
  • 任务切换是通过软件中断来暂停当前任务,然后去查询就绪任务里优先级最高的任务。然后通过任务栈里的数据跳转并执行。

    C不好实现吧,C函数调用总要返回的,通过汇编可以直接修改PC和SP指针,各个任务间来回切换,而且汇编效率高。嵌入式系统中任务调度 是除了用户程序外最消耗时间的。

    • 发布于2017-12-08
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :EXB-A10P331J 详细说明 330欧姆±5%62.5mW每个单元总线上的功率8电阻网络/阵列±200ppm /°C 2512(6432公制),凹面,长边端子 回复

  • 汇编的指令效率高,c的效率低,应该都可以用
    • 发布于2017-12-08
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :V01代表定制料 回复

  • 任务切换语句的确是用汇编语句实现的效果比较好,如果用C的话就要用goto语句,这是已经被证明存在隐患的。

    • 发布于2018-01-30
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :1SS193 CJ(江苏长电/长晶) 原厂封装:SOT-23 UMW(友台半导体) 1SS193 参数封装相同可以替换。 回复

相关问题

问题达人换一批

stm32跑RTOS的问题