![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FreeRTOS
文章平均质量分 55
dsters
这个作者很懒,什么都没留下…
展开
-
FreeRTOS临界区应用
两个任务使用同一个临界资源时需要进入临界区taskENTER_CRITICAL();taskEXIT_CRITICAL();static void hello_task(void *pvParameters){ for (;;) { taskENTER_CRITICAL(); PRINTF("Hello world1.\r\n"); t...原创 2018-06-21 08:40:16 · 5889 阅读 · 0 评论 -
配置FreeRTOS使用抢占式调度器并且在每个RTOS 系统节拍中断时在相同优先级的多个任务间进行任务切换而不用使用阻塞API函数
configUSE_PREEMPTION 为 1 时 RTOS 使用抢占式调度器,为 0 时 RTOS 使用协作式调度器(时间片)。configUSE_TIME_SLICING(V7.5.0新增) 默认情况下(宏configUSE_TIME_SLICING未定义或者宏configUSE_TIME_SLICING设置为1),FreeRTOS使用基于时间片的优先级抢占式调度器。这意味着RT...原创 2018-06-21 08:47:48 · 2777 阅读 · 0 评论 -
信号量和互斥锁
信号量和互斥锁转载 2018-06-21 09:02:21 · 139 阅读 · 0 评论 -
任务
任务可以以下列状态之一存在:运行当任务实际执行时,它被称为处于运行状态。它目前正在使用处理器。如果运行RTOS的处理器只有一个内核,那么在任何给定时间只能有一个处于运行状态的任务。准备就绪任务是那些能够执行的任务(它们不处于“阻塞”或“挂起”状态),但当前未执行,因为具有相同或更高优先级的不同任务已处于“正在运行”状态。阻止如果任务目前正在等待时间或外部事件,则说该任务处于阻塞状态。例如,如果任务...翻译 2018-06-21 09:57:06 · 1784 阅读 · 1 评论 -
任务间通信
FreeRTOS队列[另请参阅阻止多个RTOS对象 ]队列是任务间通信的主要形式。它们可以用来在任务之间以及中断和任务之间发送消息。在大多数情况下,它们被用作线程安全FIFO(先入先出)缓冲区,新数据被发送到队列的后面,尽管数据也可以发送到前端。写入和读取队列。在这个例子中,队列被创建为保存5个项目,并且队列永远不会变满。用户模型:最大简单性,最大灵活性。。。FreeRTOS队列使用模型设法将简单...翻译 2018-06-21 10:09:40 · 2435 阅读 · 0 评论 -
FreeRTOS任务通知
RTOS任务通知 [ 任务间通信和同步 ] 可从FreeRTOS V8.2.0获得 描述每个RTOS任务都有一个32位的通知值。的 RTOS的任务通知是直接发送到可以解锁接收任务,和任选的任务的事件更新接收任务的通知值。任务通知可以通过以下方式更新接收任务的通知值:设置接收任务的通知值而不覆盖以前的值覆盖接收任务的通知值在接收任务的通知值中设置一个或多个位增加接收任务的通知值这种灵活性允许任务通知...翻译 2018-06-21 10:11:27 · 213 阅读 · 0 评论 -
RTOS流和消息缓冲器
RTOS流和消息缓冲器 [ 任务间通信和同步 ] 可从FreeRTOS V10.0.0获得 介绍流缓冲区是RTOS任务的RTOS任务,并且是任务通信原语的中断。与大多数其他FreeRTOS通信原语不同的是,它们针对单读卡器单写入器方案进行了优化,例如将数据从中断服务例程传递到任务,或从双核CPU上的一个微控制器核心传递到另一个微控制器核心。数据通过复制传递 - 数据由发送方复制到缓冲区中,并通过读...转载 2018-06-21 10:13:46 · 1641 阅读 · 0 评论