WAVESHARE logóUSB-CAN busz interfész
Adapter interfész funkció
A könyvtár használati utasításaWAVESHARE USB CAN Bus Interface Adapter Interface Function Library

ELSŐ RÉSZ VÉGEVIEW

Ha a felhasználó csak USB-CAN busz interfész adaptert használ a CAN busz kommunikációs teszthez, majd közvetlenül használhatja a mellékelt USB-CAN Tool szoftvert a teszt adatainak küldésére és fogadására.
Ha a felhasználó saját termékeihez kíván szoftvert írni. Kérjük, figyelmesen olvassa el az alábbi utasításokat, és hivatkozzon a sampáltalunk biztosított kód:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Könyvtár fejlesztése file :ControlCAN.lib, ControlCAN.DLL
VC verzió függvény deklaráció file :ControlCAN.h
VB verzió függvény deklaráció file: ControlCAN.bas
LaborVIEW verziókönyvtár funkciócsomag modul :ControlCAN.llb
Delphi verziófüggvény deklaráció file: ControlCAN.pas

MÁSODIK RÉSZ KOMPATIBILIS FUNKCIÓKÖNYVTÁR ÉS ADATSZERKEZET

2.1. TÍPUSMEGHATÁROZÁS
2.1.1. Eszköztípus

Típus definíció Típus érték Leírás
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
A VCI_BOARD_INFO struktúra USB-CAN sorozatú interfészkártya eszközinformációit tartalmazza.
A szerkezetet a VCI_ReadBoardInfo függvény tölti ki.

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 1. ábra

Tag:
hw_Version
Hardververziószám, hexadecimális jelölés. Pl. 0x0100 a V1.00.
fw_Version
Hardververziószám, hexadecimális jelölés. Pl. 0x0100 a V1.00.
2. oldal
dr_Version

Illesztőprogram verziószáma, hexadecimális jelölés. Pl. 0x0100 a V1.00.
in_Version
Interfész könyvtár verziószáma, hexadecimális jelölés. Pl. 0x0100 a V1.00.
irq_Num
Rendszer fenntartva.
can_Num
A CAN csatornák teljes számát jelenti.
str_Serial_Num
Ennek a kártyalapnak a sorozatszáma.
str_hw_Típus
Hardvertípus, például „USBCAN V1.00” (Megjegyzés: Tartalmazza a „\0” karakterlánc-lezárót).
Fenntartott
Rendszer fenntartva.
2.1.3. VCI_CAN_OBJ
A VCI_Transmit és VCI_Receive függvényekben a VCI_CAN_OBJ struktúra a CAN üzenetkeret továbbítására szolgál.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Fig

Tag:
ID
Üzenetazonosító. Közvetlen azonosító formátum, jobbra igazítva, lásd: XNUMX. melléklet: Azonosítók igazításának részletei.
TimeStamp
A sztamp információ az időkeretről, a kezdési időzítés a CAN vezérlő inicializálásakor, a mértékegység 0. 1ms.
TimeFlag
Ami azt illeti, hogy használja-e az időt stamp, 1 az effektív TimeStamp. TimeFlag és TimeStamp csak akkor van értelme, ha a keretet megkapja.
SendType
Küldés típusa. A = 0 a normál típust, az = 1 az egyszeri küldést jelöli.
RemoteFlag
Legyen szó távoli zászlóról. = 1 távoli jelzőt, = 0 adatjelzőt jelöl.
Extern Flag
Legyen szó külső zászlóról. Az = 1 a külső jelzőt, a = 0 a szabványos jelzőt jelöli.
DataLen
Adathossz (<=8) ,azaz az adatok hossza.
Adat
Csomag adat.
Fenntartott
Rendszer fenntartva.
2.1.4. VCI_INIT_CONFIG
A VCI_INIT_CONFIG struktúra határozza meg a CAN inicializálási konfigurációját. A struktúra a VCI_InitCan függvényben lesz kitöltve.

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 2. ábra

Tag:
AccCode
Szűrt elfogadó kód fogadása.
AccMask
Szűrőmaszk fogadása.
Fenntartott
Fenntartott.
Szűrő
A 0-3 beállítási tartományt lehetővé tevő szűrési módszer a részletekért lásd a szűrőmód táblázat 2.2.3. szakaszát.
Időzítés0
SJA1000 Adatátviteli sebesség paraméter, Timing0 (BTR0) .
Időzítés1
SJA1000 Adatátviteli sebesség paraméter, Timing1 (BTR1) .
Mód
Üzemmód, 0 = normál működés, 1 = csak hallható üzemmód, 2 = spontán felvétel és küldési teszt mód.
Megjegyzések:
A szűrőbeállításokról lásd: II. melléklet: A CANparaméter beállítási útmutatója.
A CAN Timing0 és Timing1 az adatátviteli sebesség beállítására szolgál, ez a két paraméter csak az inicializálásnál használatos.tage.
Hagyományos Baud referencia táblázat:

CAN Baud sebesség Időzítés0 (BTR0) Időzítés1 (BTR1)
10k bps 0x31 0x1C
20k bps 0x18 0x1C
40k bps 0x87 0xFF
50k bps 0x09 0x1C
80k bps 0x83 0xFF
100k bps 0x04 0x1C
125k bps 0x03 0x1C
200k bps 0x81 0xFA
250k bps 0x01 0x1C
400k bps 0x80 0xFA
500k bps 0x00 0x1C
666k bps 0x80 0xB6
800k bps 0x00 0x16
1000k bps 0x00 0x14
33.33 Kbps 0x09 0x6F
66.66 Kbps 0x04 0x6F
83.33 Kbps 0x03 0x6F
  1. A felhasználóknak csak az SJA1000-t (16 MHz) kell követniük az adatátviteli sebesség paraméter beállításához.
  2. Az adapter átmenetileg nem támogatja a 10K alatti adatátviteli sebességet.

2.2. FUNKCIÓ LEÍRÁS
2.2.1. VCI_OpenDevice
Ez a funkció eszközök csatlakoztatására szolgál.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD fenntartva);
Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben.
Fenntartott
Megőrzési paraméterek, töltsön be 0-t.
Visszaküldés:
Visszatérési érték = 1, ami azt jelenti, hogy a művelet sikeres volt; = 0 azt jelzi, hogy a művelet sikertelen volt; = -1 azt jelzi, hogy az eszköz nem létezik.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Fig3

2.2.2. VCI_CloseDevice
Ez a funkció a kapcsolat lezárására szolgál.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben.
Visszaküldés:
Visszatérési érték = 1, ami azt jelenti, hogy a művelet sikeres volt; = 0 azt jelzi, hogy a művelet sikertelen volt; = -1 azt jelzi, hogy az eszköz nem létezik.

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 4. ábra

2.2.3. VCI_InitCan
Ez a funkció a megadott CAN inicializálására szolgál.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben.
CANIndex
CAN csatorna index, például ha csak egy CAN csatorna van, az index száma 0, ha kettő van, az indexszám 0 vagy 1 lehet.
pInitConfig
Inicializálási paraméter szerkezete. A tagok paraméterlistája:

Tag Funkcionális leírás
pInitConfig->AccCode Az AccCode és az AccMask együtt tudja meghatározni, hogy mely csomagok fogadhatók el. Ez a két regiszter az azonosító balra igazítására szolgál, vagyis az AccCode legmagasabb bitje (Bit31) és az AccMask az ID érték legmagasabb bitjéhez igazodik.
pInitConfig->AccMask Az azonosító igazítással kapcsolatban lásd a mellékleteket: I. melléklet:
Az azonosító igazítás részletei.
Pl.: Ha az AccCode értékét 0x24600000-ra állítja (azaz a 0x123 21 bittel balra van tolva), az AccMask értéke
értéke 0x00000000, és akkor csak a 0x123-as CAN üzenet keret azonosítójú csomagok fogadhatók el (a 0x00000000 AccMask értéke azt jelzi, hogy minden bit releváns
bitek). Ha az AccCode értéke 0x24600000, akkor az AccMask értéke 0x600000 (a 0x03 21 bittel balra tolódik), és akkor csak a 0x120 ~ 0x123 CAN üzenet keretazonosítójú csomagok fogadhatók el (AccMask érték
A 0x600000 azt jelzi, hogy a bit0 ~ bit1 mellett más bitek (bit2 ~ bit10) is relevánsak.
Jegyzet: Ez a szűrőbeállítás plample a szabványos keretre, plample, high 11-bit az érvényes bit; kiterjesztett keret esetén, és ekkor az érvényes azonosító 29 bites. Az AccCode és az AccMask 29 bitet állít be érvényes bitként!
pInitConfig->Fenntartva fenntartott
pInitConfig->Szűrő A szűrési mód beállításait lásd a szűrési mód táblázatának szakaszában.
pInitConfig->Timing0 Baud rateT0 beállítás
pInitConfig->Timing1 Baud rateT1 beállítás
pInitConfig->Mode Működési mód:
0 - normál működés
1-Csak hallható mód
2-spontán felvételi és küldési teszt mód (ez az érték nem szerepel a ZLG függvénykönyvtárban)

Szűrési mód táblázat:

Érték Név Leírás
1 Minden típus fogadása Szabványos és bővített vázhoz egyaránt használható!
2 Csak szabványos keret fogadása Alkalmas szabványos vázra és meghosszabbítva
a keretet közvetlenül szűréssel távolítják el!
3 Csak kiterjesztett keret fogadása Alkalmas meghosszabbított kerethez, és a szabványos keret eltávolításra kerül
közvetlen szűrés! .

Visszaküldés:
Visszatérési érték = 1, ami azt jelenti, hogy a művelet sikeres volt; = 0 azt jelzi, hogy a művelet sikertelen volt; = -1 azt jelzi, hogy az eszköz nem létezik.
Például

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 4. ábra

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 6. ábra

2.2.4. VCI_ReadBoardInfo
Ez a funkció az adapter hardverinformációinak olvasására szolgál. Általánosságban elmondható, hogy figyelmen kívül hagyható.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben. pInfo
A VCI_BOARD_INFO eszköz információs szerkezeti mutató tárolására szolgál.
Visszaküldés:
Visszatérési érték = 1, ami azt jelenti, hogy a művelet sikeres volt; = 0 azt jelzi, hogy a művelet sikertelen volt; = -1 azt jelzi, hogy az eszköz nem létezik.

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 7. ábra

2.2.5. VCI_GetReceiveNum
Ez a funkció a fogadott, de még nem olvasott keretek meghatározására szolgál a kijelölt vételi pufferben.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben.
CANIndex
CAN csatorna index.
Visszaküldés:
A még el nem olvasott kereteket adja vissza.
Például
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Ez a funkció a által megadott kijelölt csatorna vételi és küldési pufferének törlésére szolgál
USB-CAN adapter.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben.
CANIndex
CAN csatorna index.
Visszaküldés:
Visszatérési érték = 1, ami azt jelenti, hogy a művelet sikeres volt; = 0 azt jelzi, hogy a művelet sikertelen volt; = -1 azt jelzi, hogy az eszköz nem létezik.

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 8. ábra

2.2.7. VCI_StartCAN
Ez a funkció a CAN vezérlő és az adapter belső megszakítás vételi funkciójának elindítására szolgál.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben.
CANIndex
CAN csatorna index.
Visszaküldés:
Visszatérési érték = 1, ami azt jelenti, hogy a művelet sikeres volt; = 0 azt jelzi, hogy a művelet sikertelen volt; = -1 azt jelzi, hogy az eszköz nem létezik.

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 9. ábra

2.2.8. VCI_ResetCAN
Ez a funkció a CAN vezérlő visszaállítására szolgál.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben.
CANIndex
CAN csatorna index.
Visszaküldés:
Visszatérési érték = 1, ami azt jelenti, hogy a művelet sikeres volt; = 0 azt jelzi, hogy a művelet sikertelen volt; = -1 azt jelzi, hogy az eszköz nem létezik.

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 10. ábra

2.2.9. VCI_Transmit
Ez a funkció a CAN üzenetkeret küldésére szolgál.
DWORD __stdcall VCI_Transmit(DWORD eszköztípus,DWORD eszközInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD hossza);
Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben.
CANIndex
CAN csatorna index. pSend
Az elküldendő adatkeret tömbök első címe.
Hossz
Az elküldendő adatkeretek száma, maximum 1000, az ajánlott érték nagy sebesség mellett 48.
Visszaküldés:
A már elküldött képkockák tényleges számát adja vissza, a visszatérési érték = -1 eszközhibát jelez.
Például
WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 11. ábra

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 12. ábra

2.2.10. VCI_Fogadás
Ez a funkció a vétel kérésére szolgál.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT várakozási idő);
Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben.
CANIndex
CAN csatorna index.
pFogadás
Az adatkeretek első beállított mutatójának fogadása.
Len
Az adatkeret tömbhosszának 2500-nál nagyobbnak kell lennie ahhoz, hogy normál üzenetet adjon vissza.
Ellenkező esetben a visszaküldés hossza nulla lesz, függetlenül attól, hogy az üzenetet megkapták-e vagy sem. az adapter 2000 képkocka puffert állított be minden csatornához. A felhasználó saját rendszere és munkakörnyezete alapján kiválaszthatja a megfelelő tömbhosszt 2500-tól.
Várakozási idő fenntartva.
Visszaküldés:
A ténylegesen beolvasott képkockák számát adja vissza, a -1 az eszközhibákat jelzi.
Például
WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 13. ábra

HARMADIK RÉSZ EGYÉB FUNKCIÓK ÉS AZ ADATSZERKEZET LEÍRÁSA

Ez a fejezet a ControlCAN.dll USB-CAN adapter interfész könyvtárában található inkompatibilis ZLG interfész könyvtár egyéb adattípusait és funkcióit írja le. Kérjük, tegye
ne hívja meg ezeket a függvényeket, ha kompatibilis ZLG-modellt használ a másodlagos fejlesztéshez, hogy ne befolyásolja a kompatibilitást.
3.1 FUNKCIÓLEÍRÁS
3.1.1. VCI_UsbDeviceReset
Az USB-CAN adapter alaphelyzetbe állítása, újra kell nyitnia az eszközt a VCI_OpenDevice használatával.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD fenntartva
Paraméterek:
DevType
Eszköztípus. Lásd: Adapter eszköztípus meghatározása.
DevIndex
Eszközindex, plample, ha csak egy USB-CAN adapter van, az indexszám 0, ha több USB-CAN adapter van, az indexszámok 0-tól kezdődő növekvő sorrendben.
Fenntartva Fenntartva.
Visszaküldés:
Visszatérési érték = 1, ami azt jelenti, hogy a művelet sikeres volt; = 0 azt jelzi, hogy a művelet sikertelen volt; = -1 azt jelzi, hogy az eszköz nem létezik.

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 14. ábra

bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Ha ugyanaz a számítógép több USB-CAN-t használ, a felhasználó ezt a funkciót használhatja az aktuális eszköz megkeresésére.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Paraméterek:
pInfo
A pInfo az első adatpuffer címmutató paramétereinek tárolására szolgál.
Visszatér
Adja vissza a számítógéphez csatlakoztatott USB-CAN adapter számát.

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 15. ábra

Negyedik rész Interfész könyvtári funkciók a folyamat használatával
Az eszköz funkcióinak megsokszorozásához további funkciókat biztosítunk (zöld háttérrel megjelenített függvények), ezek a következők: VCI_FindUsbDevice2 VCI_UsbDeviceReset. A második fejlesztés során ezeket a funkciókat nem feltétlenül kell meghívni. Még ezeket a funkciókat is figyelmen kívül hagyja, az összes USB-CAN adapter funkció elérhető.

WAVESHARE USB CAN Bus Interface Adapter Interfész Funkciókönyvtár – 16. ábra

www.waveshare.com
www.waveshare.com/wiki

Dokumentumok / Források

WAVESHARE USB-CAN Bus Interface Adapter Interfész Funkciókönyvtár [pdf] Használati utasítás
USB-CAN busz interfész adapter interfész funkciókönyvtár, USB-CAN, busz interfész adapter interfész funkciókönyvtár, interfész funkció könyvtár, funkciókönyvtár

Hivatkozások

Hagyj megjegyzést

E-mail címét nem tesszük közzé. A kötelező mezők meg vannak jelölve *