一、队列管理函数
osMessageQDef(name, queue_sz, type) //参数二:队列size 参数三:成员size 作用:定义os_messageQ_def_##name结构体
osMessageQ(name) //宏函数 作用:定义os_messageQ_def_##name结构体的指针
osMessageQId osMessageCreate (const osMessageQDef_t *queue_def, osThreadId thread_id); //创建队列
osStatus osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t millisec); //向队列中放入消息
osEvent osMessageGet (osMessageQId queue_id, uint32_t millisec); //从队列中获取消息
二、工程创建
利用Cubemx建立工程:
打开工程,可以找到一个已经创建好的队列,如下:
osMessageQId myQueue01Handle;
osMessageQDef(myQueue01, 16, uint16_t);
myQueue01Handle = osMessageCreate(osMessageQ(myQueue01), NULL);
接下来在任务三中向队列中放入消息,并在任务四中获取队列中的数:
void StartTask03(void const * argument)
{
/* USER CODE BEGIN StartTask03 */
/