Zigbee任务间传递数据
来源:互联网 发布:网络摄像头4根网线接法 编辑:程序博客网 时间:2024/05/18 10:24
1.定义任务间传递数据的结构体
typedef struct
{
osal_event_hdr_t hdr;
uint8 mydata;
}temp_collect_task_msg;
typedef struct
{
osal_event_hdr_t hdr;
uint8 mydata;
}voltage_scan_task_msg;
typedef struct
{
osal_event_hdr_t hdr;
uint8 mydata;
}remote_ctl_temp_task_msg;
typedef struct
{
osal_event_hdr_t hdr;
uint8 * mydata;
}light_control_task_msg;
2.在需要执行任务间数据发送的时候执行如下语句
temp_collect_task_msg * Temp_Msg = (temp_collect_task_msg *)osal_msg_allocate(sizeof(temp_collect_task_msg));
remote_ctl_temp_task_msg * Remote_Temp_Msg = (remote_ctl_temp_task_msg *)osal_msg_allocate(sizeof(remote_ctl_temp_task_msg));
light_control_task_msg * light_Msg =(light_control_task_msg*)osal_msg_allocate(sizeof(light_control_task_msg));
Temp_Msg ->hdr.event = ----;
Temp_Msg->mydata = ----;
Remote_Temp_Msg->hdr.event = ----;
Remote_Temp_Msg->mydata = ----;
light_Msg ->hdr.event = ----;
light_Msg ->mydata = ----;
osal_msg_send(Light_Control_TaskID,(uint8 *)Temp_Msg);
osal_msg_send(Light_Control_TaskID,(uint8 *)Remote_Temp_Msg);
osal_msg_send(Light_Control_TaskID,(uint8 *)light_Msg);
3.在任务循环里执行如下语句:
afIncomingMSGPacket_t *MSGpkt;
temp_collect_task_msg * TEMP_Msg;
remote_ctl_temp_task_msg * REMOTE_Temp_Msg;
light_control_task_msg * LIGHT_MSG;
if(events & SYS_EVENT_MSG)
{
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( Light_Control_TaskID );
TEMP_Msg = (temp_collect_task_msg *)MSGpkt;
REMOTE_Temp_Msg = (remote_ctl_temp_task_msg * )MSGpkt;
Light_MSG = (light_control_task_msg *)MSGpkt;
while ( MSGpkt )
{
switch(MSGpkt->hdr.event )
{
case AF_INCOMING_MSG_CMD:
Light_App_ProcessMSGCmd( MSGpkt );
break;
case ----:
TEMP_Msg->mydata----
break;
case ----:
REMOTE_Temp_Msg->mydata----
break;
case ----:
Light_MSG->mdata----
break;
osal_msg_deallocate( (uint8 *)MSGpkt );// Release the memory
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( Light_Control_TaskID );
}
return (events ^ SYS_EVENT_MSG); // return unprocessed events
}
- Zigbee任务间传递数据
- zigbee任务的添加
- zigbee 任务调度机制
- zigbee 任务调度系统
- ZIGBEE: 任务处理分析
- ZigBee添加用户任务
- 通过uCOS-II的邮箱方式,实现任务间数据传递的简单实例
- uCOS-II通过邮箱方式实现任务间数据传递的简单实例(转)
- zigbee任务的处理流程
- zigbee任务的处理流程
- Zigbee中添加用户任务
- ZigBee串口收发数据
- Activity之间的数据传递 任务和回退栈
- DotNetForm间数据传递
- DotNetForm间数据传递
- 窗体间数据传递
- 线程间数据传递
- 窗口间传递数据
- 几个开发网站
- 敢比下载速度吗?迅数榜告诉你全国速度
- org.gjt.mm.mysql.Driver与com.mysql.jdbc.Driver区别
- jquery常用方法
- jquery拾色器
- Zigbee任务间传递数据
- codeforces 286(Round #176)题解
- ubuntu 下 网卡管理
- IOS在一个程序中启动另一个程序
- jq同一函数实现set和get
- url 带参 传递中文 乱码
- PLD - Verilog 基础
- UIScrollerView
- 静态成员问题