相关函数有:
cmUserInputBuildAlphanumeric();//构造数据
cmUserInputBuildNonStandard(); //构造数据
cmCallSendUserInput(); //发送数据
我们可以通过使用cmUserInput相关函数来发送协议栈本身不支持的操作,通过在UserInput中的结构cmUserInputData的Alphanumeric字段,可以构造自己的结构,通过这个结构来传送一些自定义的信令,
具体过程:
cmUserInputData uid;
RvChar strBuf[10];
RvPvtNodeId msgId;
RvStatus status;
strBuf[0] = 0x27; /* Start Escape character - tag indication
of GeneralString*/
strBuf[1] = 4; /* Length of the actual string - in this case
4 bytes */
strBuf[2] = '1';
strBuf[3] = '2';
strBuf[4] = '3';
strBuf[5] = '4';
uid.data = strBuf;
uid.length = 6;
/* Build the userInput message */
msgId = cmUserInputBuildAlphanumeric(hApp, &uid);
/* Send the UII */
status = cmCallSendUserInput(hsCall, msgId);
if ((status == RV_ERROR_DESTRUCTED) || (status ==
RV_ERROR_NULLPTR))
pvtDelete(hVal, msgId);
|
在上边的代码中,是通过向Alphanumeric字段段填充一个数组,我们可以在这个数组上进行相应的扩充,如果我们对这个数据结构化,设定长度为N,然后分别定义各个序号单元的含义,就可以发送自定义的信令了,而且不要太多的工作,协议栈对这个userinput信令的完好支持,可以省去很多的工作.
阅读(1296) | 评论(0) | 转发(0) |