
FreeRTOS
文章平均质量分 96
sakabu
记录我的嵌入式学习路线,梦想成为嵌入式大牛
展开
-
freeRTOS软件定时器(software timer)
软件定时器就是"闹钟",你可以设置闹钟,在 30 分钟后让你起床工作每隔 1 小时让你例行检查机器运行情况软件定时器也可以完成两类事情:在"未来"某个时间点,运行函数周期性地运行函数我们在手机上添加闹钟时,需要指定时间、指定类型(一次性的,还是周期性的)、指定做什么事;还有一些过时的、不再使用的闹钟。如下图所示:使用定时器跟使用手机闹钟是类似的:指定时间:启动定时器和运行回调函数,两者的间隔被称为定时器的周期 (period)。推荐看韦东山老师的课程。原创 2024-09-11 14:07:55 · 1054 阅读 · 0 评论 -
freeRTOS任务通知(Task Notifications)
所谓"任务通知",你可以反过来读"通知任务"。我们使用队列、信号量、事件组等等方法时,并不知道对方是谁。使用任务通知时,可以明确指定:通知哪个任务。使用队列、信号量、事件组时,我们都要事先创建对应的结构体,双方通过中间的结构体通信:效率更高:使用任务通知来发送事件、数据给某个任务时,效率更高。比队列、信号量、事件组 都有大的优势。更节省内存:使用其他方法时都要先创建对应的结构体,使用任务通知时无需额外创建结构体。原创 2024-08-13 16:59:17 · 1120 阅读 · 0 评论 -
freeRTOS事件组(event group)
学校组织秋游,组长在等待:张三:我到了李四:我到了王五:我到了组长说:好,大家都到齐了,出发!张三、李四、王五谁先写好就交谁的。在这个日常生活场景中:出发:要等待这3个人都到齐,他们是"与"的关系交报告:只需等待这3人中的任何一个,他们是"或"的关系在FreeRTOS中,可以使用事件组(event group)来解决这些问题。事件组可以简单地认为就是一个整数:事件组的每一位表示一个事件。原创 2024-08-13 14:44:49 · 986 阅读 · 0 评论 -
freeRTOS互斥量(mutex)
可以看到,使用信号量确实也可以实现互斥访问,但是不完美。使用互斥量可以解决这个问题,互斥量的名字取得很好:量:值为0、1互斥:用来实现互斥访问它的核心在于:谁上锁,就只能由谁开锁。即使任务A获得了互斥锁,任务B竟然也可以释放互斥锁。谁上锁、谁释放:只是约定。互斥锁解决的核心问题其实是优先级反转和优先级继承。互斥量其实就是一种特殊的二进制信号量,只不过它能解决优先级反转和实现优先级继承。二、互斥量函数。原创 2024-08-12 00:22:54 · 1901 阅读 · 0 评论 -
FreeRTOS信号量(semaphore)
前面介绍的队列(queue)可以用于传输数据:在任务之间、任务和中断之间。有时候我们只需要传递状态,并不需要传递具体的信息,比如:我的事做完了,通知一下你卖包子了、卖包子了,做好了1个包子!做好了2个包子!做好了3个包子!这个停车位我占了,你们只能等着在这种情况下我们可以使用信号量(semaphore),它更节省内存。信号量(Semaphore),是在多任务环境下使用的一种机制,是可以用来保证两个或多个关键代 码段不被并发调用。信号量这个名字,我们可以把它拆分来看,原创 2024-08-10 19:23:36 · 880 阅读 · 0 评论 -
FreeRTOS队列(queue)
队列又称消息队列,是一种常用于任务间通信的数据结构,队列可以在任务与任务间、中断和任 务间传递信息。为什么不使用全局变量?如果使用全局变量,兔子(任务1)修改了变量 a ,等待树獭(任务3)处理,但树獭处理速度很 慢,在处理数据的过程中,狐狸(任务2)有可能又修改了变量 a ,导致树獭有可能得到的不是正确的数据。在这种情况下,就可以使用队列。兔子和狐狸产生的数据放在流水线上,树獭可以慢慢一个个依次处理。关于队列的几个名词::队列中的每一个数据;:队列能够存储队列项目的最大数量;原创 2024-08-09 16:01:07 · 2273 阅读 · 0 评论 -
FreeRTOS入门(如何移植&任务创建与删除)
RTOS的全称是Real time operating system,中文就是实时操作系统。这里的RTOS不是指某一个确定的系统,而是指一类操作系统。比如:uc/OS,FreeRTOS,RTX, RT-Thread等这些都是RTOS类操作系统。我们之所以选择FreeRTOS有以下几点原因;·FreeRTOS是免费的;·很多半导体厂商产品的SDK(Software Development Kit)软件开发工具包,就使用FreeRTOS 作为其操作系统,尤其是WIFI、蓝牙这些带有协议栈的芯片或模块。原创 2024-05-17 23:05:02 · 1046 阅读 · 0 评论 -
FreeRTOS任务调度
上个文章概述了FreeRTOS的功能以及简单的移植,详情看,本章概述FreeRTOS任务之间是如何切换和任务内部运行等细节。原创 2024-05-20 19:30:29 · 1071 阅读 · 5 评论