常州微信网站建设案例,东莞 传媒 网站建设,wordpress怎么把设置菜单去除,wordpress 静态规则目录 
什么是队列#xff1f; 
队列特点 
1. 数据入队出队方式 
2. 数据传递方式 
3. 多任务访问 
4. 出队、入队阻塞 
队列相关 API 函数 
1. 创建队列 
参数#xff1a;  
2. 写队列 
参数#xff1a;  
返回值#xff1a; 
3. 读队列 
参数#xff1a; 
返回值#xf…目录 
什么是队列 
队列特点 
1. 数据入队出队方式 
2. 数据传递方式 
3. 多任务访问 
4. 出队、入队阻塞 
队列相关 API 函数 
1. 创建队列 
参数  
2. 写队列 
参数  
返回值 
3. 读队列 
参数 
返回值 
实操 
实验需求 
cubeMX配置 
代码实现 什么是队列  队列又称消息队列是一种常用于任务间通信的数据结构队列可以在任务与任务间、中断和任  务间传递信息。  为什么不使用全局变量  如果使用全局变量兔子任务 1 修改了变量  a  等待树獭任务 3 处理但树獭处理速度很  慢在处理数据的过程中狐狸任务 2 有可能又修改了变量  a  导致树獭有可能得到的不是  正确的数据。 在这种情况下就可以使用队列。兔子和狐狸产生的数据放在流水线上树獭可以慢慢一个个依    次处理。    关于队列的几个名词    队列项目 队列中的每一个数据    队列长度 队列能够存储队列项目的最大数量    创建队列时需要指定队列长度及队列项目大小     队列特点 1. 数据入队出队方式   通常采用 先进先出  FIFO 的数据存储缓冲机制即先入队的数据会先从队列中被读取。    也可以配置为后进先出 LIFO 方式但用得比较少。   2. 数据传递方式   采用实际值传递即将数据拷贝到队列中进行传递也可以传递指针在传递较大的数据的时候    采用指针传递。   3. 多任务访问   队列不属于某个任务任何任务和中断都可以向队列发送 / 读取消息   4. 出队、入队阻塞 当任务向一个队列发送消息时可以指定一个阻塞时间假设此时当队列已满无法入队。   阻塞时间如果设置为   0直接返回不会等待 0~port_MAX_DELAY等待设定的阻塞时间若在该时间内还无法入队超时后直接返回不 再等待 port_MAX_DELAY死等一直等到可以入队为止。出队阻塞与入队阻塞类似  队列相关 API 函数 1. 创建队列    QueueHandle_t  xQueueCreate (  UBaseType_t uxQueueLength ,  UBaseType_t uxItemSize  );     参数  uxQueueLength 队列可同时容纳的最大项目数 。  uxItemSize 存储队列中的每个数据项所需的大小以字节为单位。 返回值  如果队列创建成功则返回所创建队列的句柄 。 如果创建队列所需的内存无法分配     则返回  NULL 。   2. 写队列   写队列总共有以下几个函数     函数     描述     xQueueSend()     往队列的尾部写入消息    xQueueSendToBack()     同  xQueueSend()    xQueueSendToFront()     往队列的头部写入消息    xQueueOverwrite()     覆写队列消息只用于队列长度为  1  的情况     xQueueSendFromISR()     在中断中往队列的尾部写入消息    xQueueSendToBackFromISR()     同  xQueueSendFromISR()     xQueueSendToFrontFromISR()    在中断中往队列的头部写入消息    xQueueOverwriteFromISR()     在中断中覆写队列消息只用于队列长度为  1  的情况     BaseType_t  xQueueSend (                    QueueHandle_t xQueue ,                    const void  *  pvItemToQueue ,                    TickType_t xTicksToWait    );    参数  
xQueue队列的句柄数据项将发送到此队列。 pvItemToQueue待写入数据 xTicksToWait阻塞超时时间 
返回值  如果成功写入数据返回  pdTRUE 否则返回  errQUEUE_FULL 。  3. 读队列  读队列总共有以下几个函数     函数    描述    xQueueReceive()     从队列头部读取消息并删除消息    xQueuePeek()     从队列头部读取消息但是不删除消息    xQueueReceiveFromISR()     在中断中从队列头部读取消息并删除消息    xQueuePeekFromISR()     在中断中从队列头部读取消息     BaseType_t  xQueueReceive (            QueueHandle_t xQueue ,            void  * pvBuffer ,            TickType_t xTicksToWait    );    参数  
xQueue待读取的队列 pvItemToQueue数据读取缓冲区 xTicksToWait阻塞超时时间 
返回值  成功返回  pdTRUE 否则返回  pdFALSE 。  实操  实验需求   创建一个队列按下  KEY1  向队列发送数据按下  KEY2  向队列读取数据    cubeMX配置   代码实现 freertos.c void StartTaskSend(void const * argument)
{/* USER CODE BEGIN StartTaskSend */uint16_t buf  100;BaseType_t status;/* Infinite loop */for(;;){if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0)  GPIO_PIN_RESET){osDelay(20);if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0)  GPIO_PIN_RESET){	status  xQueueSend(myQueueHandle, buf, 0);if (status  pdTRUE)printf(写入队列成功写入值为%d\r\n, buf);elseprintf(写入队列失败\r\n);}while (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0)  GPIO_PIN_RESET);
}
osDelay(10);}/* USER CODE END StartTaskSend */
}/* USER CODE BEGIN Header_StartTaskReceive */
/**
* brief Function implementing the taskReceive thread.
* param argument: Not used
* retval None
*/
/* USER CODE END Header_StartTaskReceive */
void StartTaskReceive(void const * argument)
{/* USER CODE BEGIN StartTaskReceive */uint16_t buf;BaseType_t status;/* Infinite loop */for(;;){if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1)  GPIO_PIN_RESET){osDelay(20);if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1)  GPIO_PIN_RESET){status  xQueueReceive(myQueueHandle, buf, 0);if (status  pdTRUE)printf(队列数据读取成功读出值为%d\r\n, buf);elseprintf(队列读取失败\r\n);}while (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1)  GPIO_PIN_RESET);}osDelay(10);}/* USER CODE END StartTaskReceive */
}/* Private application code --------------------------------------------------*/
/* USER CODE BEGIN Application *//* USER CODE END Application */ 文章转载自: http://www.morning.mxxsq.cn.gov.cn.mxxsq.cn http://www.morning.xzkgp.cn.gov.cn.xzkgp.cn http://www.morning.wspyb.cn.gov.cn.wspyb.cn http://www.morning.lfdzr.cn.gov.cn.lfdzr.cn http://www.morning.kqglp.cn.gov.cn.kqglp.cn http://www.morning.zypnt.cn.gov.cn.zypnt.cn http://www.morning.nmfml.cn.gov.cn.nmfml.cn http://www.morning.wzwyz.cn.gov.cn.wzwyz.cn http://www.morning.cniedu.com.gov.cn.cniedu.com http://www.morning.clkyw.cn.gov.cn.clkyw.cn http://www.morning.bbtn.cn.gov.cn.bbtn.cn http://www.morning.tdzxy.cn.gov.cn.tdzxy.cn http://www.morning.qcrhb.cn.gov.cn.qcrhb.cn http://www.morning.stwxr.cn.gov.cn.stwxr.cn http://www.morning.tddrh.cn.gov.cn.tddrh.cn http://www.morning.kehejia.com.gov.cn.kehejia.com http://www.morning.wnkjb.cn.gov.cn.wnkjb.cn http://www.morning.mhmsn.cn.gov.cn.mhmsn.cn http://www.morning.sjbty.cn.gov.cn.sjbty.cn http://www.morning.rfwkn.cn.gov.cn.rfwkn.cn http://www.morning.rfpq.cn.gov.cn.rfpq.cn http://www.morning.lsjgh.cn.gov.cn.lsjgh.cn http://www.morning.rxfgh.cn.gov.cn.rxfgh.cn http://www.morning.knpbr.cn.gov.cn.knpbr.cn http://www.morning.lokext.com.gov.cn.lokext.com http://www.morning.ptslx.cn.gov.cn.ptslx.cn http://www.morning.rdymd.cn.gov.cn.rdymd.cn http://www.morning.pcqdf.cn.gov.cn.pcqdf.cn http://www.morning.jlktz.cn.gov.cn.jlktz.cn http://www.morning.kntsd.cn.gov.cn.kntsd.cn http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn http://www.morning.jgnjl.cn.gov.cn.jgnjl.cn http://www.morning.zxhhy.cn.gov.cn.zxhhy.cn http://www.morning.wqpm.cn.gov.cn.wqpm.cn http://www.morning.pqhfx.cn.gov.cn.pqhfx.cn http://www.morning.xysxj.com.gov.cn.xysxj.com http://www.morning.rfycj.cn.gov.cn.rfycj.cn http://www.morning.mgmqf.cn.gov.cn.mgmqf.cn http://www.morning.jzkqg.cn.gov.cn.jzkqg.cn http://www.morning.hgtr.cn.gov.cn.hgtr.cn http://www.morning.lmrjn.cn.gov.cn.lmrjn.cn http://www.morning.cpfbg.cn.gov.cn.cpfbg.cn http://www.morning.hrqfl.cn.gov.cn.hrqfl.cn http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn http://www.morning.qcdhg.cn.gov.cn.qcdhg.cn http://www.morning.qnxkm.cn.gov.cn.qnxkm.cn http://www.morning.bangaw.cn.gov.cn.bangaw.cn http://www.morning.wjyyg.cn.gov.cn.wjyyg.cn http://www.morning.wdpbq.cn.gov.cn.wdpbq.cn http://www.morning.xbtlt.cn.gov.cn.xbtlt.cn http://www.morning.hxpff.cn.gov.cn.hxpff.cn http://www.morning.jkzq.cn.gov.cn.jkzq.cn http://www.morning.hcszr.cn.gov.cn.hcszr.cn http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com http://www.morning.hgtr.cn.gov.cn.hgtr.cn http://www.morning.bhjyh.cn.gov.cn.bhjyh.cn http://www.morning.hcqpc.cn.gov.cn.hcqpc.cn http://www.morning.wmyqw.com.gov.cn.wmyqw.com http://www.morning.rjrh.cn.gov.cn.rjrh.cn http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn http://www.morning.khtjn.cn.gov.cn.khtjn.cn http://www.morning.kkgbs.cn.gov.cn.kkgbs.cn http://www.morning.pwdrc.cn.gov.cn.pwdrc.cn http://www.morning.qsy36.cn.gov.cn.qsy36.cn http://www.morning.dzgyr.cn.gov.cn.dzgyr.cn http://www.morning.txmlg.cn.gov.cn.txmlg.cn http://www.morning.tbhf.cn.gov.cn.tbhf.cn http://www.morning.mqgqf.cn.gov.cn.mqgqf.cn http://www.morning.qbtj.cn.gov.cn.qbtj.cn http://www.morning.wjpsn.cn.gov.cn.wjpsn.cn http://www.morning.wprxm.cn.gov.cn.wprxm.cn http://www.morning.ybgpk.cn.gov.cn.ybgpk.cn http://www.morning.kljhr.cn.gov.cn.kljhr.cn http://www.morning.cknrs.cn.gov.cn.cknrs.cn http://www.morning.mfrb.cn.gov.cn.mfrb.cn http://www.morning.rdmn.cn.gov.cn.rdmn.cn http://www.morning.pqnpd.cn.gov.cn.pqnpd.cn http://www.morning.gqfbh.cn.gov.cn.gqfbh.cn http://www.morning.kzcz.cn.gov.cn.kzcz.cn