Vector 1610 CAN的二次开发

本文介绍了使用Vector提供的API进行CAN通信配置的方法。包括加载和关闭驱动程序、获取和设置应用配置、获取通道索引及掩码等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

21世纪什么最重要?通用!想让你的图形控件和主流软件共享同一种编辑结果吗,那就选择我吧!国内唯一全面基于国际矢量图形标准SVG的专业开发控件,提供全面的矢量编辑能力,能适应组态软件和其他图形软件开发需要。能够和其他主流的编辑软件如illustrator,Visio等共享最终编辑结果。使用VectorControl.Net,您可以:> 基本形状绘制,支持圆、椭圆、矩形、正方形、直线、多边形、折线的绘制> 图像和文本构造,支持导入图像和文本构造> 扩展形状绘制,支持星形形状和扇形的构造> 钢笔工具绘制,支持任意形状的曲线构造(贝赛尔曲线)> 二维变换,支持缩放、扭曲、平移和旋转等二维变换,并可以启用或禁用这些操作。> 图形的成组和解组> 图形的层次调整> 支持多个图形之间的对齐> 支持多个图形之间的分布功能> 调整多个图形的尺寸以达到相同高度或宽度> 网格、参考线、标尺等完整视图环境并支持吸附。> 支持外部自定义形状和图元文件,给与用户自由扩展功能的能力,并能将当前绘图内容导出为形状和图元> 支持连接线,可以在对象之间保持联系> 无限制的撤销/重作> 支持SVG文件的导入> Bmp,Jpg,Gif,Tiff等多种栅格图像格式的导出> SVG文件代码预览> VectorControl.Net还提供了许多Windows界面开发组件,包括弹出菜单时容器,形状和组件库选择器等> 打印支持> 两套完整的示例程序以及源代码(C#和VB.Net),全面全面展现了如何利用VectorControl.Net控件实现简单的矢量应用(不需要任何手工编码实现SVG浏览器)和利用VectorControl实现一个完整的矢量编辑环境(具备所有矢量图形编辑功能)的能力,您甚至可以直接将我们提供的示例程序用作您默认的矢量图形的编辑器。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值