USBCAN-II 和 USBCAN-2E-U 的区别及互换方法

时间:2019-10-18 14:54来源:ZLG致远电子

摘要:ZLG的USBCAN卡型号众多,只有选型精准合适,才能发挥CAN的最佳性能。本文主要介绍USBCAN-III和USBCAN-E2E-U两个系列的区别,方便用户选型和软件二次开发。

本文主要介绍USBCAN-I/II和USBCAN-E/2E-U两个系列的区别,方便客户选型和软件的二次开发。

 
图 1  USBCAN-II实物图
 
 
图 2  USBCAN-2E-U实物图
 
硬件及收发性能主要区别:

 

软件升级步骤
两个系列的CAN 接口卡均采用同一套接口函数库,如果想从USBCAN-II的代码升级到USBCAN-2E-U,只需按以下三个步骤操作。

1. 安装USBCAN-E/2E-U驱动;
2. 增加设备类型;


在 API 编程接口文件“ControlCAN.h”中存在以下定义:
//接口卡类型定义
#define VCI_USBCAN1         3
#define VCI_USBCAN2         4
#define VCI_USBCAN_E_U     20
#define VCI_USBCAN_2E_U    21

可以看出,各个型号USBCAN接口卡所对应的设备类型DevType 互不相同。
USBCAN-E/2E-U接口卡的应用项目中,用户代码中需更改定义所选用的设备类型:
m_devtype=VCI_USBCAN_E_U     20     //支持USBCAN_E_U 接口卡
或者:
m_devtype=VCI_USBCAN_2E_U    21    //支持USBCAN_2E_U 接口卡

3. 在调用VCI_InitCAN 函数之前调用VCI_SetReference 函数设置波特率和滤波。  

USBCAN-E/2E-U一个实始化的实例(C++):
//打开设备, m_devtype ==VCI_USBCAN_E_U
if(VCI_OpenDevice(m_devtype,index,0)!=STATUS_OK)
{
MessageBox("打开设备失败!","警告",MB_OK|MB_ICONQUESTION);
return;
}
//设置波特率为500K,常用波特率表可参考接口函数使用手册VCI_SetReference的说明;
if(m_devtype ==VCI_USBCAN_E_U)
{
DWORD baud =0x060007;
if (VCI_SetReference(m_devtype,index, cannum, 0, &baud) != STATUS_OK)
{
MessageBox(_T("设置波特率错误,打开设备失败!"), _T("警告"), MB_OK | MB_ICONQUESTION);
VCI_CloseDevice(m_devtype,index);
return;
}
}

//初始化CAN
if(VCI_InitCAN(m_devtype,index,cannum,&init_config)!=STATUS_OK)
{
MessageBox("初始化CAN失败!","警告",MB_OK|MB_ICONQUESTION);
VCI_CloseDevice(m_devtype,index);
return;
}
//...
//启动CAN
    if(VCI_StartCAN(m_devtype,m_devind,m_cannum)==1)
    {
        ShowInfo("启动成功",0);        
    }
    else
    {
        CString str;
        str="启动失败";
        ShowInfo(str,2);
    }
 

免责声明:本文若是转载新闻稿,转载此文目的是在于传递更多的信息,版权归原作者所有。文章所用文字、图片、视频等素材如涉及作品版权问题,请联系本网编辑予以删除。
我要投稿
近期活动
帖子推荐更多

Copyright 2008-2024 21dianyuan.com All Rights Reserved 备案许可证号为:津ICP备10002348号-2