
FreeRTOS
FreeRTOS使用经验
freemote
这个作者很懒,什么都没留下…
展开
-
FreeRTOS任务通知作邮箱(队列)
关于任务通知特点、优缺点:FreeRTOS任务通知关于队列:FreeRTOS队列特性任务通知可以被用于向任务发送数据,但是有许多限制:仅仅只能发送32位数据; 发送的数据保存在接收任务通知值里面,任务时刻只有一个任务通知值。因此“轻量级的邮箱”也可以被用作“轻量级的队列”,任务通知的值就是邮箱值。使用xTaskNotify()和xTaskNotifyFromI...原创 2020-02-21 18:06:47 · 3377 阅读 · 0 评论 -
使用FreeRTOS任务通知作计数信号量
关于任务通知特点、优缺点:FreeRTOS任务通知关于计数信号量的特点、本质:FreeRTOS计数信号量使用ulTaskNotifyTake() 替代 xSemaphoreTake()其中参数xClearOnExit需要设置为pdFALSE,读取任务通知值后任务通知值每次减1xTaskNotifyGive() 替代 xSemap...原创 2020-02-21 16:29:31 · 555 阅读 · 0 评论 -
FreeRTOS使用任务通知作二值信号量
关于任务通知特点、优缺点: FreeRTOS任务通知关于二值信号量特点、本质:二值信号量使用ulTaskNotifyTake() 替代 xSemaphoreTake()xTaskNotifyGive() 替代 xSemaphoreGive()vTaskNotifyGiveFromISR 替代...原创 2020-02-21 14:55:48 · 642 阅读 · 0 评论 -
FreeRTOS任务通知与使用任务通知作事件标志组
目录特性应用限制任务通知用作事件标志组任务通知用作事件标志组的优点任务通知用作事件标志组的缺点部分API测试程序特性每个任务都有一个32位的任务任务通知值,任务通知是直接发送到任务的事件,可以解除接收任务的阻塞。任务通知可以通过下面四种方式更新任务通知值:设置接收任务的通知值(不覆盖前面的值);设置接收任务的通知值(覆盖前面的值);设置接收...原创 2020-02-20 17:49:40 · 1507 阅读 · 0 评论 -
FreeRTOS计数信号量使用
基本特性计数信号量,也可以看成是队列,但是长度大于1。用户只需关心是否为空。典型应用(1)计数事件发生的时候,在事件处理函数中给一个信号量(既就是信号量值计数值加1),任务处理函数获取这个信号量(既就是信号量计数值值减1)。信号量计数值初始为0。(2)资源管理用于指示可用的资源。当信号好计数值到0的时候,表示没有资源可用。一个任务想要使用...原创 2020-02-18 09:41:54 · 2899 阅读 · 0 评论 -
FreeRTOS事件标志组与事件标志位使用
事件标志位事件位用于指示事件是否发生。也叫做事件标志位。可用位表示:当信息收到且准备好处理时,设置为1;当没有收到信息且等待处理时,设置为0。事件标志组事件标志组是一组事件位,事件标志组中的事件位通过编号来访问。事件标志组和事件标志位的数据类型configUSE_16_BIT_TICKS这个宏设置为1,那么数据类型是8位;设置为0,那么数据类型是2...原创 2020-02-19 17:34:54 · 2455 阅读 · 1 评论 -
FreeRTOS二值信号量使用
基本特性二值信号量常用于互斥和同步。二值信号量和互斥量非常相似,但是又有区别。互斥量有优先级继承机制,二值信号量没有。二值信号量更适合用于同步(任务与任务之间,任务与中断之间)。互斥量更适合用于简单的互斥访问。阻塞任务当一个任务尝试读取信号量的时候,如果信号量无效,那么可以制定一个阻塞时间,在这个时间内任务进入阻塞状态。如果有多个任务阻塞在同一个信号量,当信...原创 2020-02-14 16:58:45 · 1701 阅读 · 2 评论 -
FreeRTOS队列使用
队列的基本特性队列是任务间通信的主要形式。常被用于任务与任务、中断与任务之间的消息传递,通常是FIFO的形式。队列阻塞任务当一个任务读取空队列时,这个任务将进入阻塞态(不消耗cpu,cpu会去运行其他任务),直到队列不为空或者阻塞时长超过设定的阻塞时间,将进入就绪态。当一个任务向满队列写时,这个任务会进入阻塞态(不消耗cpu,cpu会去运行其他任务),直到队列不为...原创 2020-02-13 18:30:30 · 3648 阅读 · 0 评论 -
STM32L1移植FreeRTOS
目录1、获取源码2、添加FreeRTOS源码到目标工程源码3、Keil工程管理4、代码配置修改1、获取源码使用目前应用最广的一个版本v9.0.0,https://sourceforge.net/projects/freertos/files/FreeRTOS/V9.0.0/选择适当的格式下载,可以直接下载zip压缩文档解压出源文件,也可以下载.exe安装源文件。...原创 2020-02-11 17:30:53 · 550 阅读 · 0 评论