freeRTOS
文章平均质量分 74
Ant?1
这个作者很懒,什么都没留下…
展开
-
freeRTOS总结(十五)软件定时
const char * pcTimerName /* 软件定时器名字 */ListItem_t xTimerListItem /* 软件定时器列表项 *//* 软件定时器的周期 */void * pvTimerID /* 软件定时器的ID *//* 软件定时器的回调函数 */#if。原创 2024-02-07 21:19:03 · 1183 阅读 · 0 评论 -
freeRTOS总结(十四)任务通知
任务通知API函数主要有两类:①发送通知 ,②接收通知。注意:发送通知API函数可以用于任务和中断服务函数中;接收通知API函数只能用在任务中。eNoAction = 0, /* 无操作 */eSetBits /* 更新指定bit */eIncrement /* 通知值加一 */eSetValueWithOverwrite /* 覆写的方式更新通知值 */eSetValueWithoutOverwrite /* 不覆写通知值 */原创 2024-02-07 18:00:59 · 1134 阅读 · 0 评论 -
freeRTOS总结(十三)事件标志组
动态方式创建事件标志组API函数清除事件标志位API函数设置事件标志位API函数等待事件标志位API函数特点:可以等待某一位、也可以等待多位等到期望的事件后,还可以清除某些位同步函数例子:Task1:做饭Task2:做菜Task1做好自己的事之后,需要等待菜也做好,大家在一起吃饭。特点:同步!原创 2024-01-30 17:38:47 · 590 阅读 · 0 评论 -
freeRTOS总结(十二)队列集
用于创建队列集往队列集中添加队列此函数用于往队列集中添加队列,要注意的时,队列在被添加到队列集之前,队列中不能有有效的消息(也就是说我们创建好的队列和信号量里面不能有值,才能将该队列放入到队列集中。用于从队列集中移除队列用于在任务中获取队列集中有有效消息的队列此函数用于在任务中获取队列集中有有效消息的队列。原创 2024-01-30 16:33:26 · 527 阅读 · 0 评论 -
freeRTOS总结(十一)信号量
优先级翻转:高优先级的任务反而慢执行,低优先级的任务反而优先执行优先级翻转在抢占式内核中是非常常见的,但是在实时操作系统中是不允许出现优先级翻转的,因为优先级翻转会破坏任务的预期顺序,可能会导致未知的严重后果。在使用二值信号量的时候,经常会遇到优先级翻转的问题。高优先级任务被低优先级任务阻塞,导致高优先级任务迟迟得不到调度。但其他中等优先级的任务却能抢到CPU资源。从现象上看,就像是中优先级的任务比高优先级任务具有更高的优先权(即优先级翻转)原创 2024-01-30 10:09:37 · 840 阅读 · 0 评论 -
freeRTOS总结(十)消息 队列
int8_t * pcHead /* 存储区域的起始地址 *//* 下一个写入的位置 */union} u;/* 等待发送列表 *//* 等待接收列表 *//* 非空闲队列项目的数量 *//* 队列长度 *//* 队列项目的大小 *//* 读取上锁计数器 *//* 写入上锁计数器 *//* 其他的一些条件编译 */} xQUEUE;补充知识union是一种特殊的数据结构,它允许在同一内存位置存储不同类型的数据。原创 2024-01-25 17:09:47 · 1113 阅读 · 0 评论 -
freeRTOS总结(九)时间管理
相对延时:指每次延时都是从执行函数vTaskDelay()开始,直到延时指定的时间结束绝对延时:指将整个任务的运行周期看成一个整体,适用于需要按照一定频率运行的任务(1)为任务主体,也就是任务真正要做的工作(2)是任务函数中调用vTaskDelayUntil()对任务进行延时(3)为其他任务在运行。原创 2024-01-24 19:14:01 · 447 阅读 · 0 评论 -
freeRTOS总结(八)任务相关API函数
此函数用于获取指定任务的任务优先级,使用该函数需将宏 INCLUDE_uxTaskPriorityGet 置 1。原创 2024-01-24 19:02:42 · 1177 阅读 · 0 评论 -
freeRTOS总结(六)列表及列表项
迷你列表项也是列表项,但迷你列表项仅用于标记列表的末尾和挂载其他插入列表中的列表项。原创 2024-01-22 15:22:58 · 1677 阅读 · 0 评论 -
freeRTOS总结(五)临界段代码保护
FreeRTOS 在进入临界段代码的时候需要关闭中断,当处理完临界段代码以后再打开中断终端 任务切换 任务切换是在pendsv中断中实现的他也会被关闭进入临界代码段先关闭中断任务级的… … /* 临界区 */中断级的中断的这个进入临界代码断有一个返回值,目的是保存当前中断位置,等退出时恢复到当前中断继续运行。… … /* 临界区 */原创 2024-01-11 19:25:31 · 613 阅读 · 0 评论 -
freeRTOS总结(四)中断管理
打断CPU正常运行程序,转而处理紧急的事件(中断服务函数)。中断执行机制3步1、中断请求2、响应中断3、退出中断。原创 2024-01-11 18:42:30 · 1136 阅读 · 0 评论 -
freeRTOS总结(三)任务挂起和恢复
xTaskToSuspend 待挂起任务的任务句柄此函数用于挂起任务,使用时需将宏 INCLUDE_vTaskSuspend 配置为 1。无论优先级如何,被挂起的任务都将不再被执行,直到任务被恢复。注意:当传入的参数为NULL,则代表挂起任务自身(当前正在运行的任务)xTaskToResume 待恢复任务的任务句柄使用该函数注意宏:INCLUDE_vTaskSuspend必须定义为 1。原创 2024-01-09 20:20:57 · 632 阅读 · 0 评论 -
FreeRTOS学习总结(二)FreeRTOS任务创建和删除API函数
*2、空闲任务会负责释放被删除任务中由系统分配的内存(针对动态创建),(这里注意在task1中删除task1任务则在空闲任务中释放内存,如果删除task2则立马在task1中释放)。(针对静态)但是由用户在任务删除前申请的内存, 则需要由用户在任务被删除前提前释放否则将导致内存泄露 **空闲任务是必须的软件定时器任务可选,如果都创建都需要提供堆栈和任务控制块的存储空间。实验设计:将设计四个任务:start_task、task1、task2、task3。任务1 实现LED0每500ms闪烁一次。原创 2024-01-08 20:29:18 · 705 阅读 · 0 评论 -
FreeRTOS基础知识(一)任务调度
特点:1、 高优先级抢占低优先级2、高优先级任务不停止,低优先级无法运行3、被抢占的任务会进入就绪态举例阐述一下啊Task1 2 3 任务优先级分别为1 2 3 (freertos中数值越大优先级越越大)当Task1就绪Task2 Task3未就绪时Task1 被运行;当Task2 任务就绪后抢占Task1 Task1 变为就绪态;当Task3 就绪后 抢占Task2 Task2变为就绪态;当Task3阻塞时Task2就绪被运行;当Task3 阻塞时间到 抢占Task2。原创 2023-12-27 20:09:08 · 1246 阅读 · 0 评论 -
#FreeRTOS延时函数
相对延时函数:相对延时是指每次延时都是从任务执行函数vTaskDelay()开始,延时指定的时间结束;比如vTaskDelay(100),那么从调用vTaskDelay()后,任务进入阻塞状态,经过100个系统时钟节拍周期,任务解除阻塞。因此,vTaskDelay()并不适用与周期性执行任务的场合。此外,其它任务和中断活动,会影响到vTaskDelay()的调用(比如调用前高优先级任务抢占了当前任务),因此会影响任务下一次执行的时间。原创 2023-09-22 17:17:25 · 365 阅读 · 0 评论 -
#FreeRTOS临界代码保护及调度器挂起与恢复
什么是临界段:临界段代码又叫临界区,是指那些必须完整运行,不能被打断的代码段。应用场合外设初始化:IIC、SPI等,系统:系统自身需求用户:一些代码不能被打断关中断后中断和任务调度都不能打断当前代码段。先关中断再处理临界区完成后打开中断。原创 2023-09-13 11:24:32 · 102 阅读 · 0 评论 -
#FreeRTOS中断管理简介
freertos 采用组4 全部0-15个抢占优先级,0个子优先级低于configMAX_SYSCALL_INTERRUPT_PRIORITY(这个值是5)优先级的中断才允许调用FreeRTOS的API函数中断优先级越小越优先,任务优先级越大越优先。原创 2023-09-13 11:02:45 · 123 阅读 · 0 评论 -
#freeRTOS相关API函数
pxTaskCode 任务函数pcName 任务名字usStackDepth 堆栈大小pvParameters 传递给任务函数的参数uxPriority 优先级pxCreatedTask 任务句柄,任务创建成功后返回此任务的任务句柄,这个句柄就是任务的任务堆栈返回值pdPASS 任务创建成功err 任务创建失败任务控制块和任务堆栈都需要占用RAM。原创 2023-08-07 10:34:24 · 87 阅读 · 0 评论 -
#FreeRtos 基础知识
单任务系统:又叫前后台任务,前台:中断服务程序,后台:while(1)缺点:CPU 利用率低FreeRTOS:抢占式实时多任务系统高优先级任务打断低优先级任务。原创 2023-08-07 10:00:54 · 101 阅读 · 0 评论