【文件属性】:
文件名称:在中断服务例程中使用队列-ri5cy_user_manual
文件大小:3.05MB
文件格式:PDF
更新时间:2021-06-03 17:55:44
FreeRTOS 中文
3.4 在中断服务例程中使用队列
xQueueSendToFrontFromISR(),xQueueSendToBackFromISR()与 xQueueReceiveFromISR()
分别是 xQueueSendToFront(),xQueueSendToBack()与 xQueueReceive()的中断安全
版本,专门用于中断服务例程中。
信号量用于事件通信。而队列不仅可以用于事件通信,还可以用来传递数据。
xQueueSendToFrontFromISR()与 xQueueSendToBackFromISR() API 函数
xQueueSendFromISR()完全等同于 xQueueSendToBackFromISR()。
portBASE_TYPE xQueueSendToFrontFromISR( xQueueHandle xQueue,
void *pvItemToQueue
portBASE_TYPE *pxHigherPriorityTaskWoken );
程序清单 51 xQueueSendToFrontFromISR() API 函数原型
portBASE_TYPE xQueueSendToBackFromISR( xQueueHandle xQueue,
void *pvItemToQueue
portBASE_TYPE *pxHigherPriorityTaskWoken
);
程序清单 52 xQueueSendToBackFromISR() API 函数原型
表 16 xQueueSendToFrontFromISR 与 xQueueSendToBackFromISR()参数与返回值
参数名 描述
xQueue 目标队列的句柄。这个句柄即是调用 xQueueCreate()
创建该队列时的返回值。
pvItemToQueue 发送数据的指针。其指向将要复制到目标队列中的数据
单元。
由于在创建队列时设置了队列中数据单元的长度,所以
会从该指针指向的空间复制对应长度的数据到队列的
存储区域。