Queue 消息队列的多进单出

Queue 消息队列的多进单出

官方文档参考 107 Access by Multiple Tasks [[FreeRTOS_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf#page=133&selection=0,3,2,24|FreeR

Queue 队列的三种数据传递

Queue 队列的三种数据传递

官方文档函数参考 Queue API [[FreeRTOS_Reference_Manual_V10.0.0.pdf#page=157&selection=4,0,4,9|FreeRTOS_Reference_Manual_V10.0.0, page 157]] 官方文档参考 4.2 Charact

栈和堆

栈和堆

栈与堆 栈(Stack): 栈用于存储局部变量和函数调用信息。栈上的内存是由系统自动管理的,当函数返回时,分配给改函数的栈内存会自动释放。 栈的大小是有限的,通常比较小。 堆(Heap): 堆用于动态内存分配。通过调用malloc、calloc或realloc函数从堆中分配内存。这些内存块的生命周期

数组指针详解

数组指针详解

前言 如需理解数组指针,需要先理解[[栈和堆]]。 数组指针详解: 现定义一个变量,并为其分配内存: char *buffer = (char *)malloc(100); *buffer = 'A'; 详解: buffer存储在栈中 buffer是一个局部变量,它是一个指针,存储在栈中。这个指针

ESP32启动流程

ESP32启动流程

官方文档参考 ESP32启动流程解释 FreeRTOS是怎样调用应用程序入口的 ?主要关注app_main()在哪里被调用。 app_main()在文件esp-idf/components/freertos/app_startup.c被调用: 调用流程,路径基于esp-idf/component,版

Task 堆栈设置和调试

Task 堆栈设置和调试

官方文档参考 79 2.5 uxTaskGetStackHighWaterMark() [[FreeRTOS_Reference_Manual_V10.0.0.pdf#page=79&selection=0,2,4,29|FreeRTOS_Reference_Manual_V10.0.0, page

系统的任务状态

系统的任务状态

官方文档参考 96 2.13 vTaskList() [[FreeRTOS_Reference_Manual_V10.0.0.pdf#page=96&selection=0,2,4,11|FreeRTOS_Reference_Manual_V10.0.0, page 96]] vTaskList函数

FreeRTOS中Task的创建与删除

FreeRTOS中Task的创建与删除

官方文档参考 34 2.6 xTaskCreate() [[FreeRTOS_Reference_Manual_V10.0.0.pdf#page=34&selection=0,2,4,13|FreeRTOS_Reference_Manual_V10.0.0, page 34]] FreeRTOS的任

优先级别

优先级别

官方文档参考 129 2.23 uxTaskPriorityGet() [[FreeRTOS_Reference_Manual_V10.0.0.pdf#page=129&selection=0,3,4,19|FreeRTOS_Reference_Manual_V10.0.0, page 129]]

结构体

结构体

定义结构 结构体关键字为struct和结构体名组成。 struct语句定了一个包含多个成员的新的数据类型,struct语句格式如下: struct tag { member-list member-list member-list ... } variable-list ;