FreeRTOS 队列例程Demo
来源:互联网 发布:卖家如何查看淘宝客 编辑:程序博客网 时间:2024/05/24 06:37
//说明:通过队列API传输一个结构体数据
typedef struct AdData_STRUCT
{
unsigned int xVal;
unsigned int yVal;
unsigned int zVal;
}AdData;
if( AdValQueue != 0 )
{
// Receive a message on the created queue. Block for 10 ticks if a
// message is not immediately available.
if( xQueueReceive( AdValQueue, &pTmp, ( TickType_t )10 ))
{
printf("%u %u %u\r\n",pTmp->xVal,pTmp->yVal,pTmp->zVal);
}
}
osDelay(1000);
}
}
参考:FreeRTOS中的Queue.h的Demo
typedef struct AdData_STRUCT
{
unsigned int xVal;
unsigned int yVal;
unsigned int zVal;
}AdData;
#define ADVAL_QUEUE_LEN 10
QueueHandle_t AdValQueue;
QueueHandle_t AdValQueue;
//task0 添加结构体数据到队列中去
void ADTask(void const * agrv)
{
AdData AdVal;
//创建一个队列
//创建一个队列
AdValQueue = xQueueCreate( ADVAL_QUEUE_LEN, sizeof(struct AdData_STRUCT * ));
if( AdValQueue == 0 )
{
// Queue was not created and must not be used.
//创建队列失败
{
// Queue was not created and must not be used.
//创建队列失败
}
for(;;)
{
struct AdData_STRUCT *pTmp;
AdVal.xVal = 0;
AdVal.yVal = 1;
AdVal.zVal = 2;
pTmp=&AdVal;//传递地址
xQueueSend( AdValQueue, (void*)&pTmp, ( TickType_t ) 0);
osDelay(1000);
}
struct AdData_STRUCT *pTmp;
AdVal.xVal = 0;
AdVal.yVal = 1;
AdVal.zVal = 2;
pTmp=&AdVal;//传递地址
xQueueSend( AdValQueue, (void*)&pTmp, ( TickType_t ) 0);
osDelay(1000);
}
}
//task1 接收一个结构体中的数据
void StartDefaultTask(void const * argument)
{
for(;;)
{
struct AdData_STRUCT *pTmp;
{
struct AdData_STRUCT *pTmp;
if( AdValQueue != 0 )
{
// Receive a message on the created queue. Block for 10 ticks if a
// message is not immediately available.
if( xQueueReceive( AdValQueue, &pTmp, ( TickType_t )10 ))
{
printf("%u %u %u\r\n",pTmp->xVal,pTmp->yVal,pTmp->zVal);
}
}
osDelay(1000);
}
}
}
参考:FreeRTOS中的Queue.h的Demo
0 0
- FreeRTOS 队列例程Demo
- Freertos 队列
- FreeRTOS队列
- nrf52832 - freertos例程
- 队列例程
- FreeRTOS队列接收
- FreeRTOS 队列使用
- FreeRTOS 消息队列
- FreeRTOS 学习四:队列
- FreeRTOS学习2--队列
- FreeRTOS 队列分析
- FreeRTOS系列第17篇---FreeRTOS队列
- FreeRTOS高级篇5---FreeRTOS队列分析
- FreeRTOS系列第17篇---FreeRTOS队列
- FreeRTOS高级篇5---FreeRTOS队列分析
- FreeRTOS系列第17篇---FreeRTOS队列
- FreeRTOS高级篇5---FreeRTOS队列分析
- FreeRTOS学习------队列(实践)
- Linux与JVM的内存关系分析
- 求助ng-click 事件里面如何捕获节点问题
- 跨平台跳转
- shiro认证
- list view优化
- FreeRTOS 队列例程Demo
- CentOS iptables 详解
- php内存管理
- Ubuntu Linux软件
- eclipse 误删文件的恢复,代码的恢复
- CALayer的needsDisplayForKey方法使用说明
- 为什么在controller里取不到密码框的值
- 如何将数据从Activity返回到Fragment——onActivityResult
- android中getMeasureWidth()和getWidth()方法的区别