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

建立网站所需费用项目清单国家高新技术企业认定

建立网站所需费用项目清单,国家高新技术企业认定,企业管理系统数据库,域名备案是永久的吗1. 定义队列传输的内容和队列结构体对象 使用 xQueueHandle结构体创建对象 typedef struct {u8 TaskNum;u8 Cmd;u8 * buf;}QueueObject_t;xQueueHandle xQueue NULL; 2. 调用xQueueCreate API创建队列 xQueueCreate()函数:用于创建一个消息队列。 QueueHan…

1. 定义队列传输的内容和队列结构体对象

使用 xQueueHandle结构体创建对象

typedef struct
{u8   TaskNum;u8   Cmd;u8 * buf;}QueueObject_t;xQueueHandle xQueue = NULL; 

2. 调用xQueueCreate API创建队列

xQueueCreate()函数:用于创建一个消息队列。

QueueHandle_t xQueueCreate( UBaseType_t uxQueueLength, UBaseType_t uxItemSize );参数说明:
uxQueueLength:	消息队列的长度,即可以存放多少个元素。
uxItemSize:	每个元素的大小,以字节为单位。返回值:
QueueHandle_t类型的指针,代表创建的消息队列。若创建失败,则返回NULL

创建xQueue队列

xQueue = xQueueCreate(20, sizeof(QueueObject_t));

3. 在任务中调用API获取队列消息

xQueueReceive()函数:用于接收消息队列中的数据。

BaseType_t xQueueReceive( QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait );参数说明:
xQueue:需要接收数据的消息队列。
pvBuffer:用于存放接收到的数据的内存地址。
xTicksToWait:在未接收到数据时等待的时间。若设置为0,则表示不等待;若设置为portMAX_DELAY则表示无限等待。返回值:
若接收到数据,则返回pdPASS(1);否则,返回errQUEUE_EMPTY。

接收队列消息

void Process_Task(void *pvParameters)
{const TickType_t xMaxBlockTime = pdMS_TO_TICKS(200);BaseType_t xResult = pdFALSE;QueueObject_t xQueueObject = {0};while (1){xResult = xQueueReceive(xcQueue, (void *)&xQueueObject , xMaxBlockTime);if (pdPASS == xResult){/* 接收到的数据保存在xQueueObject 结构体对象里面 */    }}
}

4. 调用API向队列发送数据

xQueueSend()函数:用于向消息队列中发送数据。

BaseType_t xQueueSend( QueueHandle_t xQueue, const void *pvItemToQueue, TickType_t xTicksToWait );参数说明:
xQueue:需要发送数据的消息队列。
pvItemToQueue:待发送的数据的内存地址。
xTicksToWait:在消息队列已满时等待的时间。若设置为0,则表示不等待;若设置为portMAX_DELAY则表示无限等待。返回值:
若发送成功,则返回pdPASS(1);否则,返回errQUEUE_FULL。

向队列中发送数据
传递数据时需注意,Queuebject.buf 指针必须指向一个已分配内存地址的空间,不能传递野指针

void SendxQueue(void)
{u8 buf[10]={1,2,3};Queueject_t Queuebject = {0};Queuebject.TaskNum = 0x11;Queuebject.Cmd = 0x01;Queuebject.buf = (u8 *)&buf;xQueueSend(xQueue, (void *)&xCommObject, pdMS_TO_TICKS(10));
}

5. 完整示例

//定义消息体的数据结构
typedef struct
{u8   TaskNum;u8   Cmd;u8 * buf;}QueueObject_t;//创建消息队列的对象
xQueueHandle xQueue = NULL; //获取消息队列数据
void Process_Task(void *pvParameters)
{const TickType_t xMaxBlockTime = pdMS_TO_TICKS(200);BaseType_t xResult = pdFALSE;QueueObject_t xQueueObject = {0};while (1){xResult = xQueueReceive(xcQueue, (void *)&xQueueObject , xMaxBlockTime);if (pdPASS == xResult){/* 接收到的数据保存在xQueueObject 结构体对象里面 */    }}
}//向消息队列发送数据
void SendxQueue(void)
{u8 buf[10]={1,2,3};Queueject_t Queuebject = {0};Queuebject.TaskNum = 0x11;Queuebject.Cmd = 0x01;Queuebject.buf = (u8 *)&buf;xQueueSend(xQueue, (void *)&xCommObject, pdMS_TO_TICKS(10));
}
http://www.zhongyajixie.com/news/16539.html

相关文章:

  • 网站开发团队需要几个人网页设计制作网站模板图片
  • 内江网站开发站长之家查询域名
  • 想百度搜到网站新域名怎么做最近营销热点
  • zencart网站时间问题最新网站查询工具
  • Pc端做社区网站用什么框架百度app浏览器下载
  • 怎样做公司网站建设搜索引擎优化方案案例
  • 武汉网站建设吧搜索排名广告营销
  • 顺德专业网站制作福州seo优化排名推广
  • 摄影网站做画册自己怎么制作一个网站
  • 东莞企业网站建设预算大概多少营销策划思路
  • 如何在电脑上建设网站自助发稿
  • 网站设计有限公司怎么样seo自学教程推荐
  • 免费下软件的网站搜索引擎竞价推广的优势
  • 建设网站的规则如何把网站推广出去
  • 模板制作视频seo每日一帖
  • 帝国cms如何做网站地图网络优化公司哪家好
  • 个人网站名称 备案企业品牌类网站有哪些
  • 微信手机网页版免费网站优化排名
  • 免费网站正能量不用下载百度ai智能写作工具
  • 企业网站色彩搭配网络加速器
  • 网站后台域名登陆软件广东短视频seo营销
  • 品牌seo如何优化seo网站推广软件 快排
  • utf8 no bom wordpress培训推广 seo
  • wordpress html结尾关系网站优化公司
  • 网站怎么做团购电商运营培训哪个机构好
  • html怎么做静态网站百度号码认证平台取消标记
  • 怎样做电商网站网站建设加推广优化
  • 资金盘网站建设青岛网站设计
  • 南昌做网站哪家便宜快速学电脑培训班
  • 网站制作公司合肥网站批量收录