WAVESHARE-logoUSB-CAN Bus Interface
Adapter interface funktion
Bibliotekets brugervejledningWAVESHARE USB CAN Bus Interface Adapter Interface Funktion bibliotek

FØRSTE DEL OVERVIEW

Hvis brugeren bare bruger USB-CAN bus interface adapter til at gå på CAN bus kommunikation test, og så kan han direkte bruge den medfølgende USB-CAN Tool software til at sende og modtage data fra testen.
Hvis brugeren har til hensigt at skrive softwareprogram til sine egne produkter. Læs venligst følgende instruktioner omhyggeligt og tag reference fra sampkoden vi leverer:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Udvikle bibliotek file :ControlCAN.lib, ControlCAN.DLL
VC version funktionserklæring file :ControlCAN.h
VB version funktionserklæring file: ControlCAN.bas
LabVIEW versionsbibliotek funktionspakkemodul :ControlCAN.llb
Delphi version funktionserklæring file: ControlCAN.pas

ANDEN DEL KOMPATIBEL FUNKTIONSBIBLIOTEK OG DATASTRUKTUR

2.1. TYPEDEFINITION
2.1.1. Enhedstype

Type definition Type værdi Beskrivelse
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO-strukturen indeholder USB-CAN-seriens interfacekortenhedsoplysninger.
Strukturen vil blive udfyldt i funktionen VCI_ReadBoardInfo.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

Medlem:
hw_Version
Hardwareversionsnummer, hexadecimal notation. F.eks. repræsenterer 0x0100 V1.00.
fw_Version
Hardwareversionsnummer, hexadecimal notation. F.eks. repræsenterer 0x0100 V1.00.
Side 2
dr_Version

Driverversionsnummer, hexadecimal notation. F.eks. repræsenterer 0x0100 V1.00.
in_Version
Interfacebibliotekets versionsnummer, hexadecimal notation. F.eks. repræsenterer 0x0100 V1.00.
irq_Num
System reserveret.
kan_Num
Repræsenterer det samlede antal CAN-kanaler.
str_Serial_Num
Dette bordkorts serienummer.
str_hw_Type
Hardwaretype, såsom "USBCAN V1.00" (Bemærk: Inkluderer strengterminator '\0').
Reserveret
System reserveret.
2.1.3. VCI_CAN_OBJ
I funktionerne VCI_Transmit og VCI_Receive bruges VCI_CAN_OBJ-strukturen til at sende CAN-meddelelsesramme.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

Medlem:
ID
Meddelelses-id. Direkte ID-format, højrejusteret, se venligst: Annex One: ID Alignment Details.
Tid St.amp
Modtagelse af stamp information om tidsrammen, start timing, når CAN-controlleren er initialiseret, enheden er 0. 1ms.
Tidsflag
I forhold til om man skal bruge tiden stamp, 1er den effektive TimeStamp. TimeFlag og TimeStamp er kun meningsfulde, når rammen modtages.
SendType
Afsendelsestype. = 0 angiver normal type, = 1 angiver enkelt afsendelse.
RemoteFlag
Om det er et fjernflag. = 1 angiver fjernflag, = 0 angiver dataflag.
EksternFlag
Om det er et eksternt flag. = 1 angiver eksternt flag, = 0 angiver standardflag.
DataLen
Data længde (<=8) , det vil sige længden af ​​data.
Data
Pakkedata.
Reserveret
System reserveret.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG struktur definerer initialiseringskonfigurationen af ​​CAN. Strukturen vil blive udfyldt i VCI_InitCan-funktionen.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

Medlem:
AccCode
Modtag filtreret acceptkode.
AccMask
Modtag filtermaske.
Reserveret
Reserveret.
Filter
Filtreringsmetode, der tillader indstillingsområde 0-3, se afsnit 2.2.3 i filtertilstandstabellen for detaljer.
Timing0
SJA1000 Baudrateparameter, Timing0 (BTR0) .
Timing1
SJA1000 Baudrateparameter, Timing1 (BTR1) .
Mode
Driftstilstand, 0 = normal drift, 1 = Kun lyttetilstand, 2 = spontan indlæggelse og afsendelsestesttilstand.
Bemærkninger:
Se venligst om filterindstillingerne: Bilag II: CAN-parameter opsætningsinstruktioner.
CAN Timing0 og Timing1 bruges til at indstille baudrate, disse to parametre bruges kun ved initialiseringentage.
Konventionel Baud-referencetabel:

CAN Baud rate Timing0(BTR0) Timing1(BTR1)
10 kbps 0x31 0x1C
20 kbps 0x18 0x1C
40 kbps 0x87 0xFF
50 kbps 0x09 0x1C
80 kbps 0x83 0xFF
100 kbps 0x04 0x1C
125 kbps 0x03 0x1C
200 kbps 0x81 0xFA
250 kbps 0x01 0x1C
400 kbps 0x80 0xFA
500 kbps 0x00 0x1C
666 kbps 0x80 0xB6
800 kbps 0x00 0x16
1000 kbps 0x00 0x14
33.33 Kbps 0x09 0x6F
66.66 Kbps 0x04 0x6F
83.33 Kbps 0x03 0x6F
  1. Brugere behøver kun at følge SJA1000 (16MHz) for at indstille Baud-hastighedsparameteren.
  2. Adapteren understøtter ikke midlertidig Baud-hastighed under 10K.

2.2. FUNKTIONSBESKRIVELSE
2.2.1. VCI_OpenDevice
Denne funktion bruges til at forbinde enheder.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserveret);
Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, indeksnumrene i stigende rækkefølge fra 0.
Reserveret
Retentionsparametre, udfyld 0.
Returnerer:
Returværdi = 1, hvilket betyder, at operationen er vellykket; = 0 angiver, at handlingen mislykkedes; = -1 angiver, at enheden ikke eksisterer.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig3

2.2.2. VCI_CloseDevice
Denne funktion bruges til at lukke forbindelsen.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, indeksnumrene i stigende rækkefølge fra 0.
Returnerer:
Returværdi = 1, hvilket betyder, at operationen er vellykket; = 0 angiver, at handlingen mislykkedes; = -1 angiver, at enheden ikke eksisterer.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

2.2.3. VCI_InitCan
Denne funktion bruges til at initialisere den specificerede CAN.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, indeksnumrene i stigende rækkefølge fra 0.
CANIndex
CAN-kanalindeks, såsom når der kun er én CAN-kanal, er indeksnummeret 0, hvis der er to, kan indeksnummeret være 0 eller 1.
pInitConfig
Initialiseringsparameterstruktur. Parameterliste over medlemmer:

Medlem Funktionsbeskrivelse
pInitConfig->AccCode AccCode og AccMask kan arbejde sammen for at bestemme, hvilke pakker der kan accepteres. Disse to registre bruges til at indstille ID'et venstrejusteret, det vil sige den højeste bit (Bit31) af AccCode og AccMask er justeret med den højeste bit af ID-værdien.
pInitConfig->AccMask Om ID-justering se bilag: Bilag I:
ID-justeringsdetaljer.
F.eks.: Hvis du indstiller værdien af ​​AccCode til 0x24600000 (dvs. 0x123 flyttes til venstre med 21 bit), AccMask værdi
er sat til 0x00000000, og derefter kan kun pakkerne med CAN-meddelelsesramme-id'et er 0x123 accepteres (AccMask-værdien på 0x00000000 angiver, at alle bits er relevante
bits). Hvis AccCode-værdien er sat til 0x24600000, er AccMask-værdien sat til 0x600000 (0x03 flyttes til venstre med 21 bit), og derefter kan kun pakkerne med CAN-meddelelsesramme-id'et er 0x120 ~ 0x123 accepteres (AccMask-værdi
0x600000 angiver, at bortset fra bit0 ~ bit1 er andre bits (bit2 ~ bit10) relevante bit).
Note: Denne filterindstilling f.eksamples til standardrammen, f.eksample, høj 11-bit er den gyldige bit; i tilfælde af den udvidede ramme, og så er det gyldige ID 29-bit. AccCode og AccMask sætter høj 29-bit som den gyldige bit!
pInitConfig->Reserveret reserveret
pInitConfig->Filter Indstillinger for filtreringstilstand henvises til afsnittet i tabellen med filtertilstande.
pInitConfig->Timing0 BaudrateT0 indstilling
pInitConfig->Timing1 BaudrateT1 indstilling
pInitConfig->Mode Driftsart:
0-normal drift
1-Lyt-kun-tilstand
2-spontan indlæggelse og afsendelsestesttilstand (denne værdi er udelukket fra ZLG-funktionsbiblioteket)

Filtertilstandstabel:

Værdi Navn Beskrivelse
1 Modtag alle typer Velegnet til både standard og forlænget stel!
2 Modtag kun standardramme Velegnet til standardramme og forlænget
rammen vil blive fjernet ved filtrering direkte!
3 Modtag kun forlænget ramme Velegnet til forlænget ramme, og standardramme vil blive fjernet pr
filtrering direkte! .

Returnerer:
Returværdi = 1, hvilket betyder, at operationen er vellykket; = 0 angiver, at handlingen mislykkedes; = -1 angiver, at enheden ikke eksisterer.
F.eks

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

2.2.4. VCI_ReadBoardInfo
Denne funktion bruges til at læse adapterens hardwareoplysninger. Generelt kan det ignoreres.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, er indeksnumrene i stigende rækkefølge fra 0. pInfo
VCI_BOARD_INFO bruges til at lagre enhedsinformationsstrukturmarkør.
Returnerer:
Returværdi = 1, hvilket betyder, at operationen er vellykket; = 0 angiver, at handlingen mislykkedes; = -1 angiver, at enheden ikke eksisterer.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

2.2.5. VCI_GetReceiveNum
Denne funktion bruges til at specificere de modtagne, men ikke blevet læste rammer i den udpegede modtagebuffer.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, indeksnumrene i stigende rækkefølge fra 0.
CANIndex
CAN-kanalindeks.
Returnerer:
Returner rammer, der ikke er læst endnu.
F.eks
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Denne funktion bruges til at rydde modtage- og sendebufferen for den udpegede kanal specificeret af
USB-CAN adapter.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, indeksnumrene i stigende rækkefølge fra 0.
CANIndex
CAN-kanalindeks.
Returnerer:
Returværdi = 1, hvilket betyder, at operationen er vellykket; = 0 angiver, at handlingen mislykkedes; = -1 angiver, at enheden ikke eksisterer.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

2.2.7. VCI_StartCAN
Denne funktion bruges til at starte CAN-controlleren og adapterens interne afbrydelsesmodtagelsesfunktion.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, indeksnumrene i stigende rækkefølge fra 0.
CANIndex
CAN-kanalindeks.
Returnerer:
Returværdi = 1, hvilket betyder, at operationen er vellykket; = 0 angiver, at handlingen mislykkedes; = -1 angiver, at enheden ikke eksisterer.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

2.2.8. VCI_ResetCAN
Denne funktion bruges til at nulstille CAN-controlleren.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, indeksnumrene i stigende rækkefølge fra 0.
CANIndex
CAN-kanalindeks.
Returnerer:
Returværdi = 1, hvilket betyder, at operationen er vellykket; = 0 angiver, at handlingen mislykkedes; = -1 angiver, at enheden ikke eksisterer.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

2.2.9. VCI_Transmit
Denne funktion bruges til at sende CAN-meddelelsesramme.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, indeksnumrene i stigende rækkefølge fra 0.
CANIndex
CAN-kanalindeks. pSend
Den første adresse på de dataramme-arrays, der skal sendes.
Længde
Antallet af datarammer, der skal sendes, det maksimale antal er 1000, den anbefalede værdi er 48 under høj hastighed.
Returnerer:
Returner det faktiske antal billeder, der allerede er sendt, returværdien = -1 indikerer en enhedsfejl.
F.eks
WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

2.2.10. VCI_Modtag
Denne funktion bruges til at anmode om modtagelse.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, indeksnumrene i stigende rækkefølge fra 0.
CANIndex
CAN-kanalindeks.
modtag
For at modtage den første sæt-pointer af datarammerne.
Len
Matrixlængden af ​​datarammen skal være mere end 2500 for at returnere normal besked.
Ellers vil returlængden være nul, uanset om beskeden modtages eller ej. adapteren indstillede en buffer på 2000 billeder for hver kanal. Baseret på eget system og arbejdsmiljø kan brugeren vælge en passende arraylængde fra 2500.
Ventetid reserveret.
Returnerer:
Returner antallet af frames, der rent faktisk er blevet læst, -1 angiver enhedsfejl.
F.eks
WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

DEL TRE ANDRE FUNKTIONER OG DATASTRUKTURBESKRIVELSE

Dette kapitel beskriver andre datatyper og funktioner i det inkompatible ZLG-interfacebibliotek indeholdt i USB-CAN-adapterinterfacebiblioteket ControlCAN.dll. Vær sød at gøre
ikke kalde disse funktioner, hvis du bruger en kompatibel ZLG-model til sekundær udvikling for ikke at påvirke kompatibiliteten.
3.1 FUNKTIONSBESKRIVELSE
3.1.1. VCI_UsbDeviceReset
Nulstil USB-CAN-adapter, skal genåbne enheden efter nulstilling ved hjælp af VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserveret
Parametre:
DevType
Enhedstype. Se: Definition af adapterenhedstype.
DevIndex
Enhedsindeks, f.eksample, når der kun er én USB-CAN-adapter, er indeksnummeret 0, når der er flere USB-CAN-adaptere, indeksnumrene i stigende rækkefølge fra 0.
Reserveret Reserveret.
Returnerer:
Returværdi = 1, hvilket betyder, at operationen er vellykket; = 0 angiver, at handlingen mislykkedes; = -1 angiver, at enheden ikke eksisterer.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Når den samme pc bruger flere USB-CAN, kan brugeren bruge denne funktion til at finde den aktuelle enhed.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parametre:
pInfo
pInfo bruges til at gemme parametrene for den første databufferadressemarkør.
Returnerer
Returner nummeret på den USB-CAN-adapter, der er tilsluttet computeren.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

Del fire Interfacebiblioteksfunktioner ved hjælp af proces
For at multiplicere enhedsfunktioner tilvejebragte vi yderligere funktioner (funktioner præsenteret med en grøn baggrund), disse funktioner inkluderer: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Under den anden udvikling skal disse funktioner ikke nødvendigvis aktiveres. Selv disse funktioner ignoreres, alle USB-CAN-adapterfunktioner kan opnås.

WAVESHARE USB CAN Bus Interface Adapter Interface Funktion Bibliotek - Fig

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

Dokumenter/ressourcer

WAVESHARE USB-CAN Bus Interface Adapter Interface Funktion bibliotek [pdf] Brugsanvisning
USB-CAN Bus Interface Adapter Interface Funktionsbibliotek, USB-CAN, Bus Interface Adapter Interface Funktionsbibliotek, Interface Funktionsbibliotek, Funktionsbibliotek

Referencer

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Påkrævede felter er markeret *