來源:致遠電子
摘要:ZLG的USBCAN卡型號眾多,只有選型精準合適,才能發揮CAN的最佳性能。本文主要介紹USBCAN-I/II和USBCAN-E/2E-U兩個系列的區別,方便用戶選型和軟件二次開發。
本文主要介紹USBCAN-I/II和USBCAN-E/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);
}
審核編輯 黃昊宇
-
接口卡
+關注
關注
0文章
21瀏覽量
11675
發布評論請先 登錄
相關推薦
評論