简介: 11-FreeRTOS配置函数 FreeRTOSConfig.h 2.27 configUSE_QUEUE_SETS 设置成1使能队列集功能(可以阻塞、挂起到多个队列和信号量),设置成0取消队列集功能。 2.28 configUSE_TIME_SLICING 默认情况下(宏configUSE_TIME_SLICING未定义或者宏configUSE_TIME_SLICING设置为1),FreeRTOS使用基于时间片的优先级抢占式...
*/#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...
#endif /* configUSE_QUEUE_SETS */ taskEXIT_CRITICAL(); return pdPASS;(6) } else { if( xTicksToWait == ( TickType_t ) 0 )(7) { taskEXIT_CRITICAL(); //队列是满的,并且没有设置阻塞时间就直接返回 traceQUEUE_SEND_FAILED( pxQueue ); return errQUEUE_FULL;(8) } else if( xEntryTime...
uint8_t ucStaticallyAllocated; //如果使用静态存储的话此字段设置为pdTURE #endif #if ( configUSE_QUEUE_SETS == 1 )//队列集相关宏 struct QueueDefinition *pxQueueSetContainer; #endif #if ( configUSE_TRACE_FACILITY == 1 )//跟踪调试相关宏 UBaseType_t uxQueueNumber; uint8_t ucQueueType; ...
#if ( configUSE_TRACE_FACILITY == 1 )//跟踪调试相关宏 UBaseType_t uxQueueNumber;uint8_tucQueueType; #endif } xQUEUE; typedef xQUEUE Queue_t; 初始化完成后,队列的内存分布,如下是一个宽度4字节,长度为4的的队列控制块分布。 3、队列创建队列 ...
18 configUSE_QUEUE_SETS ◆ 配置为 1 :使能消息队列。 ◆ 配置为 0 : 禁能消息队列。 19 configUSE_TIME_SLICING ◆ 配置为 1 :使能时间片调度。 ◆ 配置为 0 :禁能时间片调度。 ◆ 用户没有配置此选项 如果用户没有配置此选项,默认在 FreeRTOS.h 文件中已经配置为 1,即使能时间片调度。
FreeRTOS中“FreeRTOSConfig.h”配置的内容随着版本(功能)的增加而增加,也就是说随着系统功能的增加,对应需要的配置信息也相应增加了。 但是系统为了兼容之前的代码,系统自身做了兼容处理。比如:configUSE_QUEUE_SETS是属于“FreeRTOSConfig.h”中定义的选项,如果用户没有定义,则在“FreeRTOS.h”中有类似如下定义。
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"...
判断pxQueue->uxMessagesWaiting(非空闲数目)<pxQueue->uxLength(队列长度),或者是覆写xCopyPosition==queueOVERWRITE;如果判断成功,会进入写入程序,有一个宏configUSE_QUEUE_SETS,等于1就是开启队列集的处理模式,先不开启去看队列的处理方法;复制数据进入队列prvCopyDataToQueue(),然后判断队列的等待接收列表是否有队列...
21.configUSE_ALTERNATIVE_API 22.configCHECK_FOR_STACK_OVERFLOW 23.configQUEUE_REGISTRY_SIZE 24--36 24configUSE_QUEUE_SETS 25.configUSE_TIME_SLICING(V7.5.0新增) 26.configUSE_NEWLIB_REENTRANT(V7.5.0新增) 27.configENABLE_BACKWARD_COMPATIBILITY ...