当前位置: 首页 > news >正文

网站免费做招生宣传百度官方客服平台

网站免费做招生宣传,百度官方客服平台,wordpress建站方向,手机建立网站的软件消息队列可以应用于发送不定长消息的场合,包括任务与任务间的消息交换,队列是 FreeRTOS 主要的任务间通讯方式,可以在任务与任务间、中断和任务间传送信息,发送到 队列的消息是通过拷贝方式实现的,这意味着队列存储…
        消息队列可以应用于发送不定长消息的场合,包括任务与任务间的消息交换,队列是
FreeRTOS 主要的任务间通讯方式,可以在任务与任务间、中断和任务间传送信息,发送到
队列的消息是通过拷贝方式实现的,这意味着队列存储的数据是原数据,而不是原数据的
引用。

  • 消息队列控制块

typedef struct QueueDefinition 		
{int8_t *pcHead;					//pcHead 指向队列消息存储区起始位置,即第一个消息空间int8_t *pcWriteTo;				//pcWriteTo 指向队列消息存储区下一个可用消息空间union{QueuePointers_t xQueue;		/*结构体,包含pcTail指向队列消息存储区结束位置地址; pcReadFrom指向出队消息空间的最后一个*/SemaphoreData_t xSemaphore; /*作为信号量时,用的结构体*/} u;List_t xTasksWaitingToSend;	//是一个发送消息阻塞列表,如果队列满了想发送消息的任务会阻塞List_t xTasksWaitingToReceive;//是一个接收消息阻塞列表如果队列为空想接收消息的任务会阻塞volatile UBaseType_t uxMessagesWaiting;//用于记录当前消息队列的消息个数UBaseType_t uxLength;	               //表示队列的长度,Item的数量		UBaseType_t uxItemSize;			       //表示单元消息的大小,Item的大小volatile int8_t cRxLock;	  //队列上锁后,储存从队列收到的列表项数目,也就是出队的数量	volatile int8_t cTxLock;	  //队列上锁后,储存发送到队列的列表项数目,也就是入队的数量#if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )uint8_t ucStaticallyAllocated;//如果队列使用的内存是静态分配的,以确保不尝试释放内存, 则设置为pdTRUE#endif#if ( configUSE_QUEUE_SETS == 1 )struct QueueDefinition *pxQueueSetContainer;//队列控制块指针#endif#if ( configUSE_TRACE_FACILITY == 1 )UBaseType_t uxQueueNumber;            //消息队列数量uint8_t ucQueueType;                  //消息队列类型#endif} xQUEUE;

3.1动态创建队列xQueueCreate()

3.1.1函数原型
3.1.2函数框架

xQueueCreate()就是调用xQueueGenericCreate()实现的。

3.2动态创建队列xQueueGenericCreate()

3.2.1函数原型

  • uxQueueLength:队列长度,Item的数量;
  • uxItemSize:消息单元的大小。
  • ucQueueType:消息队列类型:

  • 返回值:队列句柄。
3.2.2函数框架

3.3静态创建队列xQueueCreateStatic()

3.3.1函数原型

3.3.2函数框架

xQueueCreateStatic()由xQueueGenericCreateStatic()函数实现。

3.4静态创建队列xQueueGenericCreateStatic()

3.4.1函数原型

  • uxQueueLength:队列能够存储的最大单元数目,即队列深度;
  • uxItemSize:消息单元的大小;
  • pucQueueStorage:指向自己分配的队列消息存储空间起始地址;
  • pxStaticQueue:指向自己分配的队列起始地址;
  • ucQueueType:消息队列类型;
  • 返回值:队列句柄。
3.4.2函数框架

静态创建队列与动态创建队列的区别就是,静态创建时的队列控制块和队列消息存储空间需要自己预先分配好,再传递起始地址给静态创建函数,类似于任务的动态创建与静态创建的区别。

3.5删除队列vQueueDelete()

3.5.1函数原型

void vQueueDelete( QueueHandle_t xQueue )

  • xQueue :队列句柄。
3.5.2函数框架

3.6队列发送消息xQueueSend()

3.6.1函数原型

  • xQueue:队列句柄;
  • pvItemToQueue:指针,指向要发送到队列尾部的队列消息;
  • xTicksToWait:阻塞时间,如果队列满了,任务就会阻塞 xTicksToWait时间。
  • 返回值:消息发送成功成功返回 pdTRUE,否则返回 errQUEUE_FULL
3.6.2函数框架

 xQueueSend()是一个宏,宏展开是调用函数 xQueueGenericSend()。

xQueueSend()用于向队列尾部发送一个队列消息。消息以拷贝的形式入队,而不是以引用的形式。该函数绝对不能在中断服务程序里面被调用,中断中必须使用带有中断保护功能的 xQueueSendFromISR()来代替。 

3.7队列发送消息xQueueGenericSend()

3.7.1函数原型

  • xQueue:队列句柄;
  • pvItemToQueue:指针,指向要发送到队列尾部的队列消息;
  • xTicksToWait:阻塞时间,如果队列满了,任务就会阻塞 xTicksToWait时间。
  • xCopyPosition:发送数据到消息队列的位置:

  • 返回值:消息发送成功成功返回 pdTRUE,否则返回 errQUEUE_FULL
3.7.2函数框架

3.8队列发送消息xQueueSendFromISR()

3.8.1函数原型

3.8.2函数框架

xQueueSendFromISR也是一个宏,宏展开是调用函数 xQueueGenericSendFromISR()。该宏是 xQueueSend()的中断保护版本,用于在中断服务程序中向队列尾部发送一个队列消息。

3.9队列发送消息xQueueGenericSendFromISR()

3.9.1函数原型

  • xQueue:队列句柄;
  • pvItemToQueue:指针,指向要发送到队列尾部的队列消息;
  • pxHigherPriorityTaskWoken:如果入队导致一个任务解锁,并且解锁的任务优先级高于当前被中断的任务,则将*pxHigherPriorityTaskWoken设置成 pdTRUE,然后在中断退出前需要进行一次上下文切换, 去 执行被唤醒的优先级更高的任务 。
  • 返回值:消息发送成功成功返回 pdTRUE,否则返回 errQUEUE_FULL
3.9.2函数框架

3.10队列发送消息xQueueReceive()

3.10.1函数原型

  • xQueue:队列句柄;
  • pvBuffer:指针,指向要保存接收消息的空间;
  • xTicksToWait:等待时间。
  • 返回值:队列项接收成功返回 pdTRUE ,否则返回 pdFALSE
3.10.2函数框架

3.11队列发送消息xQueueReceiveFromISR()

3.11.1函数原型

  • xQueue:队列句柄;
  • pvBuffer:指针,指向要保存接收消息的空间;
  • pxHigherPriorityTaskWoken:如果有任务因队列满了阻塞发送,现在调用接收函数导致任务恢复,且恢复的任务优先级高于当前被中断的任务,则将*pxHigherPriorityTaskWoken设置成 pdTRUE,这个过程是在 xQueueReceiveFromISR函数里完成的,然后在中断退出前需要进行一次上下文切换, 去执行被唤醒的优先级更高的任务。如果设置成NULL的话,函数就不会*pxHigherPriorityTaskWoken = pdTRUE;
  • 队列项接收成功返回 pdTRUE ,否则返回 pdFALSE
3.11.2函数框架

http://www.shuangfujiaoyu.com/news/45529.html

相关文章:

  • 做垃圾网站赚钱石家庄seo
  • 政府网站模板贴吧做百度推广
  • 宁波做网站优化价格seo外包服务项目
  • thinkphp大型网站开发天津百度关键词seo
  • 网站建设驻地开发合同爱上链外链购买交易
  • 1000个免费货源网站入口网站seo推广哪家值得信赖
  • 自己做的网页加在网站文章上为什么打不开站长工具 seo查询
  • 成都建设二维码网站每日新闻简报
  • 建设网站的模板下载企业新网站seo推广
  • 链家准备做贝壳网站成都网站推广公司
  • 做别墅花园绿化的网站搜索引擎优化的方式
  • 现在什么网站做推广比较好百度官网首页登录
  • 自己做网站下载怎么珠海做网站的公司
  • 工业园企业建设网站公司百度搜索引擎优化详解
  • 杭州 定制网站廊坊关键词快速排名
  • wordpress修改网站菜单位置百度com百度一下你
  • 图书网站策划书百度搜索指数排行榜
  • 如何做高网站的浏览量搜索推广
  • 部门网站建设方案附近的教育培训机构有哪些
  • 微网站制作网站开发今日头条极速版最新
  • 哪个网站可以做担保交易百度关键词seo排名优化
  • 厦门做网站公司排名网络营销成功案例分析其成功原因
  • 网站 关键词 选择网站seo优化心得
  • wordpress 装修长沙百度快速排名优化
  • 学校网站建设策划书模板指数运算法则
  • 企业网站创建小结查网站
  • 威海住房建设局网站百度收录查询代码
  • 网络网站建设2020年可用好用的搜索引擎
  • 台州椒江找人做网站免费h5制作网站
  • 想做网站代运营公司排行榜