自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 FreeRTOS学习记录-优先级翻转

摘要:本文探讨了实时操作系统中使用二值信号量时出现的优先级翻转现象。当高、中、低优先级任务共享信号量时,低优先级任务长时间占用信号量会导致高优先级任务阻塞,而中优先级任务持续运行,形成优先级倒置。实验通过创建二值信号量和不同优先级任务,验证了这一现象:当中优先级任务运行时,低优先级任务被剥夺CPU使用权,直到释放信号量后高优先级任务才能执行,从而违背了预期的任务优先级顺序。

2025-09-21 19:53:53 203

原创 FreeRTOS学习记录-计数信号量

本文介绍了FreeRTOS中计数信号量的概念、API接口及实现方法。计数信号量是长度大于1的队列,用于表示资源可用数量,具有释放(加1)和获取(减1)操作。文章详细说明了计数信号量的动态创建函数参数、中断版本释放接口和任务级获取接口,并通过实验展示了信号量的使用流程:定时器1秒时基初始化时释放信号量,任务4秒延时后获取信号量,循环操作使可用资源数从0开始按0→4→3→7→6...的规律变化。

2025-09-07 20:57:43 433

原创 FreeRTOS学习记录-二值信号量

本文介绍了二值信号量的使用方法和实验验证。主要内容包括:二值信号量的创建、释放和获取API接口说明,以及任务级和中断级的操作差异。通过实验验证,使用定时器中断每隔1秒释放信号量,任务成功获取信号量后打印字符串,结果显示时间间隔准确为1秒,共打印12行字符串,验证了二值信号量在任务同步中的有效性。

2025-08-26 23:08:29 191

原创 FreeRTOS学习记录-使用队列传输大的数据单元

比如现在需要传输一个数组,数组大小为2048字节,此时不可能在创建队列的时候申请队列大小为2048字节,那么此时要想使用队列传输大数据的时候应该传输要传输大数据块的指针,通过指针去传输它。

2025-05-18 20:36:06 344

原创 FreeRTOS学习记录-队列传输复合数据类型

FreeRTOS队列不进可以传输单一的数据类型,也可以传输复合的数据类型,比如结构体,联合体等。

2025-05-05 19:27:14 361

原创 FreeRTOS学习记录-读队列阻塞

某个任务试图读一个队列时,其可以指定一个阻塞超时时间。在这段时间中,如 果队列为空,该任务将保持阻塞状态以等待队列数据有效。当其它任务或中断服务例程 往其等待的队列中写入了数据,该任务将自动由阻塞态转移为就绪态。当等待的时间超 过了指定的阻塞时间,即使队列中尚无有效数据,任务也会自动从阻塞态转移为就绪态。由于队列可以被多个任务读取,所以对单个队列而言,也可能有多个任务处于阻塞 状态以等待队列数据有效。这种情况下,一旦队列数据有效,只会有一个任务会被解除 阻塞,这个任务就是所有等待任务中优先级最高的任务。

2025-04-27 22:30:58 479

原创 FreeRTOS学习记录-任务删除

在任务二运行五次之后,在任务一中将任务二进行删除;删除之后任务二将不存在;也不再运行。

2025-04-26 10:01:21 259

原创 FreeRTOS学习记录-任务优先级设置

0。

2025-04-19 12:02:32 599

原创 FreeRTOS学习记录-空闲任务和空闲任务的钩子函数

通过空闲任务钩子函数(或称回调,hook, or call-back),可以直接在空闲任务中添 加应用程序相关的功能。空闲任务只会在其它任务都不运行时才会被执行(除非有应用任 务共享空闲任务优先级)。测试处系统处理裕量(空闲任务只会在所有其它任务都不运行时才有机会执行,所 以测量出空闲任务占用的处理时间就可以清楚的知道系统有多少富余的处理时 间)。在空闲任务的钩子函数中,当任务一被运行五次之后,将任务一删除。定义任务相关的参数,如任务栈的大小,任务的优先级,任务句柄。定义空闲任务的钩子函数。

2025-04-12 09:57:20 349

原创 FreeRTOS学习记录-绝对延时

vTaskDelayUntil()类似于 vTaskDelay()。vTaskDelay() 的参数用来指定任务在调用 vTaskDelay()到切出阻塞态整个过程包含多少个心跳周期。任务保持在阻塞态的时间量由 vTaskDelay()的入口参数指定,但任务离开阻塞态的时刻 实际上是相对于 vTaskDelay()被调用那一刻的。vTaskDelayUntil()的参数就是用来指定 任务离开阻塞态进入就绪态那一刻的精确心跳计数值。

2025-04-10 20:41:39 321

原创 FreeRTOS学习记录-任务优先级

由于任务二的优先级大于任务一,并且任务二没有调用任何阻塞函数,所以LED灯不亮,始终处于灭的状态。FreeRTOS 的任务优先级是一个 数值,数值越大,优先级越高。相同优先级的任务采用时间片轮转调度;(可配置为更大值,但受内存限制)。高优先级任务抢占低优先级任务;(空闲任务通常在此优先级)。数值越大,优先级越高;

2025-04-08 20:10:28 651

原创 FreeRTOS学习记录-任务创建

在 FreeRTOS 中,任务的创建是通过或API 函数实现的。在本工程中使用方法创建。在进行任务创建之前,需要先关闭中断。在任务创建结束后,打开中断。启动任务调度器。

2025-04-07 22:24:52 191

原创 1.ipark变换

将转子磁极N极中心轴线作为直轴,超前直轴90°电角度的位置定义为交轴;d q轴相对于转子静止;

2024-06-04 22:40:06 759

原创 1.FreeRTOS学习记录-内核实现之列表和列表项的实现

1.数据类型的定义:1.数据类型的定义:#else#endif#endif2.配置宏的定义。

2024-01-04 19:33:49 1662

原创 【学习笔记】软件模拟I2C

I2C是串行总线的一种,属于半双工通信(数据的发送和接收不能同时进行),由两线组成(时钟线SCL和数据线SDA),采用主从通信模式(支持多主机模式)。

2023-04-27 23:33:05 4919 2

CAN报文数据解析工具

1.支持CAN总线数据的收发 2支持信号观测信号过滤 3.支持格式转換(DBC转EXCEL MF4转CSV) 4.支持解析DBF/DBC文件 5.支持解析MF4/LOG/TRC/ASC文件CAN信号为曲线 6.支持信号实时曲线绘制 7支持绘制折线图/区域图/散点图 8.支持设置曲线步长/曲线颜色 9.支持曲线游标, X/Y/X-Y轴缩放 10.支持设置保存 11.支持显示CAN报文的实时时间和周期时间 12.支持APP升级免费推送 13.支持查看或导出信 号的历史所有值/变化值为EXCEL 更多功能更新中......

2025-09-21

串口调试助手,持续更新

十六进制收发 文本搜索 时间戳 多文本 文件打开和保存 log日志自动记录 ......

2024-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除