- 博客(7)
- 收藏
- 关注
原创 uMCN支持不同数据类型
动态确定数据大小:通过obj_size字段和void*通用指针支持不同的数据类型。内存动态分配:根据数据大小动态分配内存,确保系统能够处理多种类型的数据。类型透明性:使用memcpy和通用指针,确保数据发布和订阅过程中数据类型的透明性。灵活的主题定义:开发者可以根据需要定义不同大小的数据主题,系统可以处理结构体、基本数据类型等多种数据类型。这种设计使得uMCN非常灵活,可以广泛应用于嵌入式系统中,处理各种类型的传感器数据、控制信息等。
2024-10-05 16:07:22
1570
1
原创 MCU订阅-发布模式
McnHub是 uMCN 的核心结构,负责管理主题的发布和订阅。McnNode代表订阅者,管理订阅的主题和数据更新的回调函数。McnList用于维护所有消息中心的链表。uMCN通过这些结构实现了一个高效的发布-订阅系统,保证了发布者和订阅者之间的松耦合和数据的一致性。
2024-10-05 16:07:01
980
原创 MCU嵌入式数据总线模式和订阅-发布模式
数据总线模式(Data Bus Pattern)和发布-订阅模式(Publish-Subscribe Pattern,又称 Pub/Sub Pattern)都是用于在不同系统组件之间传递信息的模式,它们都使用了解耦合的概念来提升系统的灵活性和扩展性。
2024-04-06 00:50:49
546
原创 实时嵌入式:优先级反转
当一个高优先级任务H被低优先级任务L阻塞时,任务L临时继承任务H的优先级,直到它释放那个资源。在操作系统的上下文中,优先级反转发生在低优先级任务持有一个高优先级任务需要的资源时,而且该低优先级任务因为某些原因被中等优先级任务抢占执行。当提到“无限优先级反转”时,其实指的是一种特殊情况的优先级反转,其中高优先级任务可能会被无限期地阻塞,因为它在等待一个低优先级任务释放资源,而该低优先级任务却始终无法得到执行机会(因为总是被其他中等优先级的任务抢占)。C嵌入式编程设计模式源码-CSDN博客。
2024-02-01 12:42:57
558
1
原创 Bruce Powel Douglass大师介绍
Bruce Powel Douglass是嵌入式软件、系统工程和实时系统开发领域的知名人物。他的职业生涯超过35年,特别是在实时和嵌入式系统的软件工程方法论方面做出了重大贡献。
2023-11-28 21:53:41
1559
原创 5.2 状态机基本概念
例如,在微波炉的情景中,元素是微波炉(或至少是涉及烹饪的元素集合),状态是该系统的条件,如关闭(Off)、就绪(Ready)、微波烹饪(Microwaving)、门开(DoorOpen)和暂停(Paused)。如果在元素处于不响应特定事件的状态时发生事件,事件将“静默丢弃”,无效果——即状态机只做肯定陈述(“当我处于这个状态并且发生这个事件时,我会做这个”),而不是否定陈述(“如果我不在这个状态或者这个没有发生,那么我会做那个”)。在状态内没有明确处理的事件,在元素处于该状态时发生时会被丢弃。
2023-11-21 23:06:06
207
状态机示例代码:关机 (Off)、就绪 (Ready)、微波 (Microwaving)、暂停 (Paused)、门开 (Do
2024-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人