STM32裸机架构-定时器任务+消息事件【订阅发布模式】

  1. 首先说下我对嵌入式系统的理解,常用工控,物联网嵌入式操作系统90%时间都是空闲状态,剩下时间需要即时响应外部输入事件;如:IO外部输出,通信口数据输入等。对于这些原始数据的流向链路:硬件驱动采集-》源数据-》发布消息事件-》系统响应,分发消息给应用层订阅者-》处理数据-》执行决策【展示数据/运动控制等】。这个模型下我们思考整个系统模块间实现高聚合,低耦合最少需要定时器任务和消息事件两个组件。这两个组件使用更为安全的静态内存数组方式进行分配,根据不同底层芯片ram大小扩展。
  2. 定时器任务分为周期性任务和单次任务,使用系统tick时钟中断更新定时器任务计数器;并且具备任务状态包括:就绪态,挂起态,执行态,退出态。当若干个任务定时器触发超时机制,排序在数组前面的任务先执行【即拥有最高优先级,把系统最重要任务排在前面】。支持创建任务,删除任务,挂起任务,唤醒任务,设置超时时间。
  3. 消息事件支持订阅事件,发布事件,取消发布事件,屏蔽非关键事件【定制化开发】

        4.使用例子

开源代码链接:jiaqiang.Li/stm32-task-timer-event - 码云 - 开源中国 (gitee.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值