來源:致遠電子
摘要:ZLG的USBCAN卡型號眾多,只有選型精準合適,才能發(fā)揮CAN的最佳性能。本文主要介紹USBCAN-I/II和USBCAN-E/2E-U兩個系列的區(qū)別,方便用戶選型和軟件二次開發(fā)。
本文主要介紹USBCAN-I/II和USBCAN-E/2E-U兩個系列的區(qū)別,方便客戶選型和軟件的二次開發(fā)。
硬件及收發(fā)性能主要區(qū)別:
軟件升級步驟:
兩個系列的CAN 接口卡均采用同一套接口函數(shù)庫,如果想從USBCAN-II的代碼升級到USBCAN-2E-U,只需按以下三個步驟操作。
1.安裝USBCAN-E/2E-U驅(qū)動;
2.增加設(shè)備類型;
在 API 編程接口文件“ControlCAN.h”中存在以下定義:
//接口卡類型定義
#define VCI_USBCAN1 3
#define VCI_USBCAN2 4
#define VCI_USBCAN_E_U 20
#define VCI_USBCAN_2E_U 21
可以看出,各個型號USBCAN接口卡所對應(yīng)的設(shè)備類型DevType 互不相同。
USBCAN-E/2E-U接口卡的應(yīng)用項目中,用戶代碼中需更改定義所選用的設(shè)備類型:
m_devtype=VCI_USBCAN_E_U 20 //支持USBCAN_E_U 接口卡
或者:
m_devtype=VCI_USBCAN_2E_U 21 //支持USBCAN_2E_U 接口卡
3.在調(diào)用VCI_InitCAN 函數(shù)之前調(diào)用VCI_SetReference 函數(shù)設(shè)置波特率和濾波。
USBCAN-E/2E-U一個實始化的實例(C++):
//打開設(shè)備, m_devtype ==VCI_USBCAN_E_U
if(VCI_OpenDevice(m_devtype,index,0)!=STATUS_OK)
{
MessageBox("打開設(shè)備失敗!","警告",MB_OK|MB_ICONQUESTION);
return;
}
//設(shè)置波特率為500K,常用波特率表可參考接口函數(shù)使用手冊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("設(shè)置波特率錯誤,打開設(shè)備失敗!"), _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);
}
審核編輯 黃昊宇
-
接口卡
+關(guān)注
關(guān)注
0文章
21瀏覽量
11660
發(fā)布評論請先 登錄
相關(guān)推薦
評論