XLstatus xlOpenDriver(void)
描述:每个应用程序都必须调用这个函数来加载驱动程序。XLStatus = 0则打开成功,返回其他数字的话就需要跟官方文档查错误码的含义。
XLstatus xlCloseDriver(void)
描述:这个函数关闭驱动程序
XLstatus xlGetApplConfig( char *appName, unsigned int appChannel,unsigned int *pHwType, unsigned int *pHwIndex,unsigned int *pHwChannel,unsigned int busType)
appName:"xlCANcontrol",这里我要做的是CAN通信,所以就选这个
appChannel:(0,1.。。。。。)
busType:指定应用程序使用的总线类型,前面参数我选的是CAN,这里肯定是“ XL_BUS_TYPE_CAN”
e. g.: XL_BUS_TYPE_CAN
XL_BUS_TYPE_LIN
XL_BUS_TYPE_DAIO
XL_BUS_TYPE_MOST
XL_BUS_TYPE_FLEXRAY
其他的三个参数属于返回值:
unsigned int *pHwType
unsigned int *pHwIndex
unsigned int *pHwChannel
函数使用例程:我这里是基于QT写的,其他语言一样,QT的话需要多做一步Qstring——》char*
//test
unsigned int HwType ;
unsigned int HwIndex;
unsigned int HwChannel;
//Qstring to char *
QString str1 = "xlCANcontrol";
char * ch;
QByteArray ba = str1.toLatin1();
ch = ba.data();
//gain App Config
int cc = xlGetApplConfig(ch,0,&HwType,&HwIndex,&HwChannel,XL_BUS_TYPE_CAN);
qDebug()<<cc<<endl;
qDebug()<<"HwType :"<<HwType<<endl;
qDebug()<<"HwIndex :"<<HwIndex<<endl;
qDebug()<<"HwChannel :"<<HwChannel<<endl;
XLstatus xlSetApplConfig( char *appName,unsigned int appChannel, unsigned int hwType,unsigned int hwIndex,unsigned int hwChannel, unsigned int busType)
描述:这个函数与xlGetApplConfig相对,先利用Vector Hardware Config tool工具将App中的CAN2设置成未分配,
程序中调用该函数:
char * ch= “xlCANcontrol”;
cc=xlSetApplConfig(ch,1,55,0,1,XL_BUS_TYPE_CAN);
qDebug()<<cc<<endl;
ch———》“xlCANcontrol”
1————》appChannel
55———》 hwType 【define vector1610 55】
0———》 hwIndex 同种设备的索引值一样
1———》
XL_BUS_TYPE_CAN————》busType
XLaccess xlGetChannelIndex ( int hwType,int hwIndex,int hwChannel);
描述:输入“硬件类型”,“硬件类型索引”,“硬件通道” 输出channel index.
int cc =xlGetChannelIndex(55,0,0);
qDebug()<<cc<<endl;
输入(55,0,0),输出为0
输入(55,0,1),输出为1
XLaccess xlGetChannelMask ( int hwType,int hwIndex,int hwChannel);
描述:输入“硬件类型”,“硬件类型索引”,“硬件通道” 输出channel mask.
//test xlGetChannelIndex
cc =xlGetChannelIndex(55,0,0);
qDebug()<<cc<<endl;
//test xlGetChannelMask
xlGetChannelMask(55,0,0);
qDebug()<<cc<<endl;
输入:xlGetChannelMask(55,0,0), 输出mask 为1
输入:xlGetChannelMask(55,0,1), 输出mask 为2