2.27 configUSE_QUEUE_SETS 设置成1使能队列集功能(可以阻塞、挂起到多个队列和信号量),设置成0取消队列集功能。 2.28 configUSE_TIME_SLICING 默认情况下(宏configUSE_TIME_SLICING未定义或者宏configUSE_TIME_SLICING设置为1),FreeRTOS使用基于时间片的优先级抢占式调度器。这意味着RTOS调度器总是运行处于最高优先...
1、函数xQueueSend()、xQueueSendToBack()和xQueueSendToFront() 这三个函数都是用于向队列中发送消息的,这三个函数本质都是宏,其中函数xQueueSend()和xQueueSendToBack()是一样的,都是后向入队,即将新的消息插入到队列的后面。函数xQueueSendToToFront()是前向入队,即将新消息插入到队列的前面。这三个函数最后...
( void ) xQueueGenericReset( pxNewQueue, pdTRUE ); #if ( configUSE_TRACE_FACILITY == 1 ) { pxNewQueue->ucQueueType = ucQueueType; } #endif /* configUSE_TRACE_FACILITY */ #if( configUSE_QUEUE_SETS == 1 ) { pxNewQueue->pxQueueSetContainer = NULL; } #endif /* configUSE_QUEUE...
*/#define configQUEUE_REGISTRY_SIZE10#define configUSE_QUEUE_SETS0#define configUSE_TIME_SLICING0#define configUSE_NEWLIB_REENTRANT0#define configENABLE_BACKWARD_COMPATIBILITY0#define configNUM_THREAD_LOCAL_STORAGE_POINTERS5/*Hook function related definitions. */#define configUSE_IDLE_HOOK0#define conf...
#if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) uint8_t ucStaticallyAllocated; /* 若使用静态存储,赋值为pdTURE */ #endif #if ( configUSE_QUEUE_SETS == 1 ) /* 队列集相关宏 */
(configUSE_QUEUE_SETS==1)// 此宏用于使能启用队列集structQueueDefinition*pxQueueSetContainer;// 指向队列所在队列集#endif#if(configUSE_TRACE_FACILITY==1)// 此宏用于使能可视化跟踪调试UBaseType_t uxQueueNumber;// 仅用于调试// 队列的类型: 0: 队列或队列集; 1: 互斥信号量; 2: 计数型信号量;...
判断pxQueue->uxMessagesWaiting(非空闲数目)<pxQueue->uxLength(队列长度),或者是覆写xCopyPosition==queueOVERWRITE;如果判断成功,会进入写入程序,有一个宏configUSE_QUEUE_SETS,等于1就是开启队列集的处理模式,先不开启去看队列的处理方法;复制数据进入队列prvCopyDataToQueue(),然后判断队列的等待接收列表是否有队列...
1、启用队列集功能需要将宏configUSE_QUEUE_SETS 配置为 1 2、创建队列集 3、创建队列或信号量 4、往队列集中添加队列或信号量 5、往队列发送信息或释放信号量 6、获取队列集的消息 #include"sys.h"#include"delay.h"#include"usart.h"#include"led.h"#include"timer.h"#include"lcd.h"#include"key.h"...
FreeRTOS中“FreeRTOSConfig.h”配置的内容随着版本(功能)的增加而增加,也就是说随着系统功能的增加,对应需要的配置信息也响应增加了。但是系统为了兼容之前的代码,系统自身做了兼容处理。 比如:configUSE_QUEUE_SETS是属于“FreeRTOSConfig.h”中定义的选项,如果用户没有定义,则在“FreeRTOS.h”中有类似如下定义。
18 configUSE_QUEUE_SETS ◆ 配置为 1 :使能消息队列。 ◆ 配置为 0 : 禁能消息队列。 19 configUSE_TIME_SLICING ◆ 配置为 1 :使能时间片调度。 ◆ 配置为 0 :禁能时间片调度。 ◆ 用户没有配置此选项 如果用户没有配置此选项,默认在 FreeRTOS.h 文件中已经配置为 1,即使能时间片调度。