摘要: 基本概念 FreeRTOS 从 V8.2.0 版本开始提供任务通知这个功能,每个任务都有一个 32 位的通知值,在大多数情况下,任务通知可以替代二值信号量、计数信号量、事件组,也可以替代长度为 1 的队列(可以保存一个 32位整数或指针值)。 相对于以前使用 FreeRTOS 内核通信的资源,必须创 阅读全文
posted @ 2026-09-12 16:45 灵垚克府 阅读(9) 评论(0) 推荐(0)
摘要: 软件定时器基本概念 定时器,是指从指定的时刻开始,经过一个指定时间,然后触发一个超时事件,用户可以自定义定时器的周期与频率。相当于一个闹钟,到点干什么。 定时器有硬件定时器和软件定时器之分: 硬件定时器: 是芯片本身提供的定时功能; 一般是由外部晶振提供给芯片输入时钟,芯片向软件模块提供一组配置寄存 阅读全文
posted @ 2026-09-12 15:55 灵垚克府 阅读(6) 评论(0) 推荐(0)
摘要: 基本概念 事件是一种实现任务间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输。与信号量不同的是,它可以实现一对多,多对多的同步。即一个任务可以等待多个事件的发生:可以是任意一个事件发生时唤醒任务进行事件处理;也可以是几个事件都发生后才唤醒任务进行事件处理。同样,也 阅读全文
posted @ 2026-09-12 14:49 灵垚克府 阅读(6) 评论(0) 推荐(0)
摘要: 基本概念 互斥量又称互斥信号量(本质是信号量),是一种特殊的二值信号量,它和信号量不同的是,它支持互斥量所有权、递归访问以及防止优先级翻转的特性,用于实现对临界资源的独占式处理。 任意时刻互斥量的状态只有两种,开锁或闭锁。当互斥量被任务持有时,该互斥量处于闭锁状态,这个任务获得互斥量的所有权。当该任 阅读全文
posted @ 2026-09-12 14:09 灵垚克府 阅读(8) 评论(0) 推荐(0)
摘要: 信号量控制块 信号量 API 函数实际上都是宏,它使用现有的队列机制,这些宏定义在 semphr.h 文件中,如果使用信号量或者互斥量,需要包含 semphr.h 头文件: /* * 定义调度器使用的队列。 * 项目通过复制而非引用排队。请参见以下链接了解详细原因:http://www.freert 阅读全文
posted @ 2026-09-12 13:20 灵垚克府 阅读(8) 评论(0) 推荐(0)
摘要: 信号量的基本概念 在了解信号量的概念之前,我们先来回忆一下,当我们在逻辑编程的时候,时候使用过这样一个变量:用于标记某个事件是否发生,或者标志一下某个东西是否正在被使用,如果是被占用了的或者没发生,我们就不对它进行操作。 那么当我们来到操作系统,信号量的概念就是:信号量(Semaphore)是一种实 阅读全文
posted @ 2026-09-12 09:58 灵垚克府 阅读(7) 评论(0) 推荐(0)
摘要: 基本概念 队列又称消息队列,是一种常用于任务间通信的数据结构,消息队列可以在任务与任务间、中断和任务间传递信息,实现了任务接收来自其他任务或中断的不固定长度的消息,任务能够从队列里面读取消息,当队列中的消息是空时,读取消息的任务将被阻塞,用户还可以指定阻塞的任务时间 xTicksToWait,在这段 阅读全文
posted @ 2026-09-12 09:27 灵垚克府 阅读(4) 评论(0) 推荐(0)