单片机开发框架——TMF任务管理框架(一)

1 TMF框架简介        

        TMF(Tasks Managed Framework)是笔者在多年项目实践过程中,总结出来的一种单片机开发框架。主要目标是对系统实行模块化管理,对多个任务模块的执行函数进行统一调度管理,既有利于实现“高内聚低耦合”,提高系统可靠性,同时也为任务处理带来极大便利。主要功能如下:

        (1)任务管理:当系统需要执行某个任务时,只须设置该任务结点的执行状态字,就可以由管理程序完成任务的执行。

        (2)自定义任务阻塞:分全局阻塞、同类型指令阻塞和不阻塞三种。在系统上电初始化时,某些设备在初始化成功前,是不能执行其它任务的(如4G模块在初始化成功前,不能往服务器发数据),这时应进行全局阻塞。 如果有些任务属于同一类型,但由于对某设备的独占性,或者执行有先后顺序要求,在前一条任务执行结果返回之前,后一个任务不能执行,这时可进行同类型任务阻塞,系统将越过后续同类型任务,并继续执行其它类型任务。

        (3)任务自动重发:在交互系统中,如果指令发出后在规定时间内,没有收到响应,则自动重发,直到达到最大执行次数。

        (4)自定义响应检测:能够根据项目实际需求打开本地或远端响应检测。例如,直接和单片机串口相连的芯片或模块,如果存在应答交互,则应打开为本地响应检测; 如果和远程服务器存在应答交互,则应打开远程响应检测。有些模块同时需要打开本地响应检测和远程响应检测,如4G模块等。

        (5)自定义远程连接状态检测:如果某些指令需要和远程服务器进行通讯,在指令执行前,要对连接状态进行判断; 其它指令则无需对连接状态进行检测。

        (6)自定义指令目标函数入口:可同时指定一个或多个执行任务的目标函数入口,框架会自动按先后顺序去执行。

        (7)自定义指令执行失败处理函数入口:在指令执行失败后,如果需要时行善后处理,应指定处理函数入口。

        (8)多任务时间片管理:每个任务设定相同或不同的执行时间间隔。相比传统延时函数,能够提高系统的执行效率。相邻任务之间可能存在相同或不同延时需求,如4G模块指令响应时间为300ms,因此相邻两条指令间隔不能小于300ms。如果直接延时300ms,势必影响到其它任务的响应速度,降低单片机总体执行效率。

        持续更新中,敬请期待。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值