查看: 1819|回复: 3

[原创] 如何编写简单的多任务代码

[复制链接]
  • TA的每日心情
    慵懒
    2018-11-15 16:18
  • 签到天数: 39 天

    连续签到: 1 天

    [LV.5]常住居民I

    16

    主题

    259

    帖子

    3

    高级会员

    Rank: 4

    积分
    993
    最后登录
    2023-1-6
    发表于 2016-4-20 12:53:07 | 显示全部楼层 |阅读模式
    所用IDE是CW5.1,所选芯片是MC9S12P128,可以通过Full Chip Simulation仿真,写了一个带有两个任务的简单操作系统。任务一:每秒翻转PA1口。
    任务二:每秒翻转PB1口,每半秒翻转PB2口。
    其实写成裸机更简单,但会用到很多全局变量,而用这个简单的软件架构只要编写任务函数,然后将任务名赋予链表的元素中就可以了,定时器是1毫秒中断),可以通过链表无限增加任务量,但任务数太过于庞大会影响定时时间!友情赠予那些走在嵌入式道路上的人们.

    P128 test 20160420.rar

    210.81 KB, 下载次数: 31, 下载积分: 威望 1

    回复

    使用道具 举报

    该用户从未签到

    3

    主题

    10

    帖子

    0

    新手上路

    Rank: 1

    积分
    43
    最后登录
    2016-5-8
    发表于 2016-4-21 08:33:56 | 显示全部楼层
    裸奔:一个定时器中断,两个变量
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2018-11-15 16:18
  • 签到天数: 39 天

    连续签到: 1 天

    [LV.5]常住居民I

    16

    主题

    259

    帖子

    3

    高级会员

    Rank: 4

    积分
    993
    最后登录
    2023-1-6
     楼主| 发表于 2016-4-21 08:36:27 | 显示全部楼层
    zcrtxk 发表于 2016-4-21 08:33
    裸奔:一个定时器中断,两个变量

    任务多了就要好几个延时的全局变量了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    10

    帖子

    0

    新手上路

    Rank: 1

    积分
    43
    最后登录
    2016-5-8
    发表于 2016-4-21 08:46:23 | 显示全部楼层
    如果项目总体复杂性不高,就算是这样,也比带操作系统高效得快。
    而且你可以根据不同任务的实时性,平衡错开执行任务。这样整个系统的实时性更高。
    当然,如果涉及一些通用且复杂的协议、UI、文件系统等,那还是用操作系统合适。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 04:35 , Processed in 0.090286 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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