蓝牙技术在音频网关中的应用
msg->remote_name_request_enabled=rnr_en;
MessagePut(0,msg);
}
*CM
{
MAKE_MSG(CM_INQUIRY_COMPLETE_CFM);
msg->status=status;
MessagePut(1,msg);
}
(3)消息处理
对某一消息队列中的消息,由相应的任务来完成,调度程序运行消息队列不为空的任务。在应用程序中,任务用宏定义“DECLARE_TASK”来声明,用参数来标识某个任务。参数必须为整数,表示其任务号。分别在AG客户机程序和CM中声明任务1和任务0。程序结构如下:
*AG客户机程序中的任务1:处理来自CM的消息DECLARE_TASK(1)
{
void *msg;
MessageType type;
/*取出队列中的消息,其中的参数必须与DECLARE_TASK中的一致*/
msg=Messa
geGet(1,&type);
if(msg)
{
switch(type)
{
/*Connection Manager is ready to be used*/
case CM_INIT_CFM:
agInitCfm();
break;
/*Connection Manager has been initializedand is ready for action*/
case CM_OPEN_CFM:
.
.
.
}
MessageDestroy(msg);/*释放消息*/
}
}
*CM程序中的任务0:处理来自AG客户机的消息DECLARE_TASK(0)
DECLARE_TASK(0)
{
MessageType type;
Void *msg=MessageGet(0,&type);
if(!msg)return;
switch(type)
《蓝牙技术在音频网关中的应用(第3页)》