除不掉的灰色
适合自己的才是最好的。
展开
-
FreeRTOS——消息队列
基础API如下功能描述创建队列xQueueSend向队列中添加元素从队列中取出元素。原创 2024-01-31 13:26:00 · 67 阅读 · 0 评论 -
FreeRTOS——消息队列
基础API如下功能描述创建队列xQueueSend向队列中添加元素从队列中取出元素。原创 2024-01-13 17:51:27 · 120 阅读 · 0 评论 -
FreeRTOS——事件组
功能描述创建事件组将事件状态改为触发等待事件触发创建事件组语法返回值为事件组的句柄。:事件组的句柄。:事件标志位。返回值:当前触发的事件有哪些。:事件组的句柄。:等待事件组的哪个标志位。可以是多个标志位。:等待事件触发后,是否清楚这个事件,如果清除,其他的订阅者将不会收到,不清除,就会收到。pdTRUE表示清除。pdFALSE表示不清除。:指定是否等待所有的标志位都被设置。设置为pdTRUE。原创 2024-01-09 21:23:26 · 630 阅读 · 0 评论 -
FreeRTOS——信号量
如果需要简单的互斥访问,互斥信号量可能是最合适的选择。互斥信号量也用于实现资源的互斥访问,类似于二进制信号量。但与二进制信号量不同的是,互斥信号量允许同一个任务多次获取信号量,而不会导致死锁。在任务持有互斥信号量时,其他任务无法获取该信号量,必须等待该任务释放信号量。例如,当多个任务需要共享一个资源时,可以使用二进制信号量来保证同一时间只有一个任务访问该资源。递归互斥信号量是一种特殊的信号量类型,用于解决任务在嵌套调用中对资源的重复获取。应用场景:递归互斥信号量适用于同一任务需要多次获取互斥资源的场景。原创 2024-01-09 21:07:26 · 741 阅读 · 0 评论 -
FreeRTOS——定时器
软件定时器的精度和准确性受到系统时钟的影响,通常适用于对时间要求不太严格的应用场景。硬件定时器常用于实时操作系统、嵌入式系统和实时应用中,能够提供可靠的定时功能和高精度的时间触发。在非自动重载模式下,定时器只会触发一次,在到期时停止计时,不会自动重新启动。定时器是计算机系统中的一种常用工具,用于在指定的时间间隔或延迟后执行特定的任务或操作。在自动重载模式下,定时器在每次到期后会自动重新启动,以便周期性地触发任务或回调函数的执行。回到定时器周期描述上来说,简单来说,操作系统数多少下,执行1次回调函数。原创 2024-01-09 20:50:00 · 1124 阅读 · 0 评论 -
FreeRTOS——中断管理
上面中的全局中断配置,配置为抢占优先级为4,响应优先级为0,那么就把具体中断源的区间给框定了。因此,上面配置具体中断源优先级为5和0,在全局中断源的范畴内。中断是计算机系统中一种重要的事件驱动机制,用于在特定条件下打断正在执行的程序,并跳转到预定义的中断处理程序中执行特定的操作。当发生中断时,处理器会立即中止当前正在执行的指令,保存当前的执行状态,并执行相应的中断处理程序。全局中断的意思是,把全局的中断优先级大概定义到一个区间,具体到哪种类型的中断,自行去配置合适的优先级。1(可取值为0到1)原创 2024-01-09 20:41:55 · 1021 阅读 · 0 评论 -
FreeRTOS——任务相关机制
但需要注意,临界区的使用应当尽量保持简短,避免在临界区中执行复杂或耗时的操作,以减少系统的响应时间和提高并发性能。同时,要合理地选择临界区的粒度和范围,以平衡保护共享资源的需要和系统的实时性要求。中断服务例程的临界区宏与任务间的临界区宏类似,具有类似的功能和用法。通过自定义内存分配器接口,用户可以根据具体的需求实现自己的内存管理策略,例如使用特定的内存分配算法或集成外部内存管理器。根据应用的具体需求和系统的资源限制,选择合适的内存管理算法可以提高内存的利用率和系统的性能。原创 2024-01-09 20:38:36 · 692 阅读 · 0 评论 -
FreeRTOS——任务管理
需要注意的是,任务优先级的设置应根据应用的实时需求和任务间的相对重要性进行合理的规划。需要注意的是,在任务删除之前,需要确保不再需要该任务的执行,并且合理处理任务间的同步和资源释放。我们编写一个HelloWorld示例,点亮PE3和PD7的灯,通过两个不同的任务,进行灯的闪烁控制,观察效果。我们采用日志打印的方式进行验证,开启两个任务,分别打印日志,开启任务时设置不同优先级进行测试,以下是示例代码。:任务控制块,用来存储任务的堆栈空间,任务的状态和优先级等。此处以创建任务的代码为例,搞清楚几个关键词。原创 2024-01-09 20:34:34 · 682 阅读 · 0 评论 -
GD32移植FreeRTOS
来到FreeRTOS源码目录中,找到。也是目前的最新版本。实现多任务串口打印功能。文件拷贝到项目目录中的。原创 2024-01-08 21:14:28 · 1235 阅读 · 0 评论 -
FreeRTOS概述
综上所述,选择FreeRTOS作为RTOS的理由包括其轻量级、可移植性高、活跃的社区支持、基本功能齐全、可靠性高以及可定制性等特点。3社区支持活跃:FreeRTOS拥有一个活跃的开源社区,提供大量的文档、示例代码、论坛和支持。4基本功能齐全:FreeRTOS提供了基本的任务调度、通信和同步机制,包括基于优先级的抢占式调度、事件、信号量等。8社区支持:FreeRTOS拥有一个活跃的开源社区,提供文档、示例代码、论坛和支持,使开发人员能够更轻松地使用和定制FreeRTOS。它支持动态内存分配和静态内存池。原创 2024-01-08 19:52:06 · 929 阅读 · 0 评论