用FreeRTOS,使用队列怎么发送一个结构体
答案:1 悬赏:60 手机版
解决时间 2021-02-09 01:40
- 提问者网友:嘚啵嘚啵
- 2021-02-08 09:03
用FreeRTOS,使用队列怎么发送一个结构体
最佳答案
- 五星知识达人网友:慢性怪人
- 2021-02-08 10:03
一个使用结构体例子:
struct AMessage
{
portCHAR ucMessageID;
portCHAR ucData[ 20 ];
}xMessage;
unsigned portLONG ulVar = 10UL;
void vATask( voidvoid *pvParameters )
{
xQueueHandle xQueue1, xQueue2;
struct AMessage *pxMessage;
xQueue1 = xQueueCreate( 10, sizeof( unsigned portLONG ) );
xQueue2 = xQueueCreate( 10, sizeof( struct AMessage * ) );
// ...
if( xQueue1 != 0 )
{
if( xQueueSend( xQueue1, ( voidvoid * ) &ulVar, ( portTickType ) 10 ) !=pdPASS )
{
}
}
if( xQueue2 != 0 )
{
pxMessage = & xMessage;
xQueueSend( xQueue2, ( voidvoid * ) &pxMessage, ( portTickType ) 0 );
}
//... 任务其余代码.
}
struct AMessage
{
portCHAR ucMessageID;
portCHAR ucData[ 20 ];
}xMessage;
unsigned portLONG ulVar = 10UL;
void vATask( voidvoid *pvParameters )
{
xQueueHandle xQueue1, xQueue2;
struct AMessage *pxMessage;
xQueue1 = xQueueCreate( 10, sizeof( unsigned portLONG ) );
xQueue2 = xQueueCreate( 10, sizeof( struct AMessage * ) );
// ...
if( xQueue1 != 0 )
{
if( xQueueSend( xQueue1, ( voidvoid * ) &ulVar, ( portTickType ) 10 ) !=pdPASS )
{
}
}
if( xQueue2 != 0 )
{
pxMessage = & xMessage;
xQueueSend( xQueue2, ( voidvoid * ) &pxMessage, ( portTickType ) 0 );
}
//... 任务其余代码.
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯