WAVESHARE LogoUSB-CAN Bus-koppelvlak
Adapter Interface Funksie
BiblioteekgebruikersinstruksieWAVESHARE USB CAN Bus Tussenvlak Adapter Interface Funksie Biblioteek

DEEL EEN VERBYVIEW

As die gebruiker net gebruik USB-CAN bus koppelvlak adapter om te gaan op CAN bus kommunikasie toets, en dan kan hy direk gebruik die verskaf USB-CAN Tool sagteware vir die stuur en ontvang van data van die toets.
As die gebruiker van voorneme is om sagtewareprogram vir sy eie produkte te skryf. Lees asseblief die volgende instruksies noukeurig deur en neem verwysing uit die aampdie kode wat ons verskaf:
⑴ C++ Bouer ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-kan.
Ontwikkel biblioteek file :ControlCAN.lib, ControlCAN.DLL
VC weergawe funksie verklaring file :ControlCAN.h
VB weergawe funksie verklaring file: ControlCAN.bas
LabVIEW weergawe biblioteek funksie pakket module :ControlCAN.llb
Delphi weergawe funksie verklaring file: ControlCAN.pas

DEEL TWEE VERENIGBARE FUNKSIE BIBLIOTEEK EN DATA STRUKTUUR

2.1. TIPE DEFINISIE
2.1.1. Soort toestel

Tipe Definisie Tik waarde Beskrywing
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO-struktuur bevat USB-CAN-reeks-koppelvlakkaarttoestelinligting.
Die struktuur sal in VCI_ReadBoardInfo-funksie ingevul word.

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 1

Lid:
hw_Weergawe
Hardeware weergawe nommer, heksadesimale notasie. Bv. 0x0100 verteenwoordig V1.00.
fw_Weergawe
Hardeware weergawe nommer, heksadesimale notasie. Bv. 0x0100 verteenwoordig V1.00.
Bladsy 2
dr_Weergawe

Bestuurder weergawe nommer, heksadesimale notasie. Bv. 0x0100 verteenwoordig V1.00.
in_weergawe
Interface biblioteek weergawe nommer, heksadesimale notasie. Bv. 0x0100 verteenwoordig V1.00.
irq_Num
Stelsel gereserveer.
kan_Getal
Verteenwoordig die totale aantal CAN-kanaal.
str_Serial_Num
Hierdie bordkaart se reeksnommer.
str_hw_Typ
Hardeware tipe, soos "USBCAN V1.00" (Let wel: Sluit string terminator '\0' in).
Voorbehou
Stelsel gereserveer.
2.1.3. VCI_CAN_OBJ
In die funksies VCI_Transmit en VCI_Receive, word VCI_CAN_OBJ-struktuur gebruik om CAN-boodskapraam te stuur.

WAVESHARE USB CAN Bus Tussenvlak Adapter Interface Funksie Biblioteek - Fig

Lid:
ID
Boodskap-identifiseerder. Direkte ID-formaat, regs-belyn, verwys asseblief na: Bylae Een: ID-belyningsbesonderhede.
Tyd St.amp
Die ontvangs van die stamp inligting van die tydraamwerk, begin tydsberekening wanneer die CAN-beheerder geïnisialiseer is, die eenheid is 0. 1ms.
TydVlag
In terme van die vraag of die tyd stamp, 1is die effektiewe TimeStamp. TimeFlag en TimeStamp is slegs betekenisvol wanneer die raam ontvang word.
Stuurtipe
Stuur tipe. = 0 dui op Normale tipe, = 1 dui Enkel Send.
AfgeleëVlag
Of dit nou 'n afgeleë vlag is. = 1 dui afgeleë vlag aan, = 0 dui datavlag aan.
Eksterne Vlag
Of dit 'n eksterne vlag is. = 1 dui eksterne vlag aan, = 0 dui standaard vlag aan.
DataLen
Datalengte(<=8) , dit is die lengte van data.
Data
Pakkie data.
Voorbehou
Stelsel gereserveer.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG struktuur definieer die inisialisering konfigurasie van die CAN. Die struktuur sal in VCI_InitCan-funksie ingevul word.

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 2

Lid:
Rekenkode
Ontvang gefiltreerde aanvaardingskode.
AccMask
Ontvang filtermasker.
Voorbehou
Voorbehou.
Filter
Filtermetode, wat instellingsreeks 0-3 toelaat, verwys na afdeling 2.2.3 van die filtermodustabel vir besonderhede.
Tydsberekening 0
SJA1000 Baud rate parameter, Tydsberekening0 (BTR0) .
Tydsberekening 1
SJA1000 Baud rate parameter, Tydsberekening1 (BTR1) .
Modus
Bedryfsmodus, 0 = normale werking, 1 = Luister-alleen-modus, 2 = spontane opname en stuurtoetsmodus.
Opmerkings:
Oor die filterinstellings verwys asseblief na: Bylae II: CANparameter-opstellingsinstruksies.
CAN Timing0 en Timing1 word gebruik om baud rate te stel, hierdie twee parameters word slegs gebruik by die inisialisering stage.
Konvensionele Baud verwysing tabel:

KAN Baud koers Tydsberekening0(BTR0) Tydsberekening1(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. Gebruikers hoef slegs SJA1000 (16MHz) te volg om die Baud rate parameter te stel.
  2. Die adapter ondersteun nie tydelik Baud-tempo onder 10K nie.

2.2. FUNKSIE BESKRYWING
2.2.1. VCI_OpenDevice
Hierdie funksie word gebruik om toestelle te koppel.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0.
Voorbehou
Retensieparameters, vul 0 in.
Terugsendings:
Retourwaarde = 1, wat beteken dat die bewerking suksesvol is; = 0 dui aan dat die operasie misluk het; = -1 dui aan dat die toestel nie bestaan ​​nie.

WAVESHARE USB CAN Bus Tussenvlak Adapter Interface Funksie Biblioteek - Fig3

2.2.2. VCI_CloseDevice
Hierdie funksie word gebruik om die verbinding te sluit.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0.
Terugsendings:
Retourwaarde = 1, wat beteken dat die bewerking suksesvol is; = 0 dui aan dat die operasie misluk het; = -1 dui aan dat die toestel nie bestaan ​​nie.

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 4

2.2.3. VCI_InitCan
Hierdie funksie word gebruik om die gespesifiseerde CAN te inisialiseer.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0.
CAN-indeks
KAN-kanaalindeks, soos wanneer daar net een KAN-kanaal is, is die indeksnommer 0, as daar twee is, kan die indeksnommer 0 of 1 wees.
pInitConfig
Inisialisering parameter struktuur. Parameterlys van lede:

Lid Funksionele beskrywing
pInitConfig-> AccCode AccCode en AccMask kan saamwerk om te bepaal watter pakkies aanvaar kan word. Hierdie twee registers word gebruik om die ID links-belyn te stel, dit wil sê die hoogste bis (Bit31) van die AccCode en AccMask is in lyn met die hoogste bis van die ID waarde.
pInitConfig->AccMask Oor ID-belyning, verwys bylaes: Bylae I:
ID-belyningsbesonderhede.
Bv.: As jy die waarde van die AccCode stel as 0x24600000 (dws 0x123 word met 21 bisse na links geskuif), AccMask waarde
is op 0x00000000 gestel, en dan kan slegs die pakkies met CAN-boodskapraam-ID 0x123 aanvaar word (AccMask-waarde van 0x00000000 dui aan dat alle bisse relevant is
stukkies). As die AccCode-waarde op 0x24600000 gestel is, word AccMask-waarde op 0x600000 gestel (0x03 word met 21 bisse na links geskuif), en dan kan slegs die pakkies met die CAN-boodskapraam-ID 0x120 ~ 0x123 aanvaar word (AccMask-waarde)
0x600000 dui aan dat behalwe bit0 ~ bit1 ander bisse (bit2 ~ bit10) relevante bis is).
Let wel: Hierdie filterinstelling bvamples aan die standaard raam, bvample, hoë 11-bis is die geldige bis; in die geval van die uitgebreide raam, en dan is die geldige ID 29-bis. AccCode en AccMask stel hoog 29-bis as die geldige bietjie!
pInitConfig-> Voorbehou voorbehou
pInitConfig->Filter Filtermodusinstellings verwys asseblief na die afdeling van die filtermodustabel.
pInitConfig->Tydsberekening0 Baud rateT0 instelling
pInitConfig->Tydsberekening1 Baud rateT1 instelling
pInitConfig->Modus Maatskappy af:
0-normale werking
1-Luister-alleen-modus
2-spontane toelating en stuurtoetsmodus (hierdie waarde is uitgesluit van die ZLG-funksiebiblioteek)

Filtermodustabel:

Waarde Naam Beskrywing
1 Ontvang alle soorte Geskik vir beide standaard en verlengde raam!
2 Ontvang slegs standaard raam Geskik vir standaard raam, en verleng
raam sal direk deur filtrasie verwyder word!
3 Ontvang slegs verlengde raam Geskik vir verlengde raam, en standaardraam sal verwyder word deur
filtrasie direk! .

Terugsendings:
Retourwaarde = 1, wat beteken dat die bewerking suksesvol is; = 0 dui aan dat die operasie misluk het; = -1 dui aan dat die toestel nie bestaan ​​nie.
Bv

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 4

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 6

2.2.4. VCI_ReadBoardInfo
Hierdie funksie word gebruik om die adapter hardeware inligting te lees. Oor die algemeen kan dit geïgnoreer word.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0. pInfo
VCI_BOARD_INFO word gebruik om toestelinligtingstruktuurwyser te stoor.
Terugsendings:
Retourwaarde = 1, wat beteken dat die bewerking suksesvol is; = 0 dui aan dat die operasie misluk het; = -1 dui aan dat die toestel nie bestaan ​​nie.

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 7

2.2.5. VCI_GetReceiveNum
Hierdie funksie word gebruik om die ontvangde maar nie geleesde rame in die aangewese ontvangbuffer te spesifiseer nie.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0.
CAN-indeks
KAN-kanaalindeks.
Terugsendings:
Gee rame terug wat nog nie gelees is nie.
Bv
#include "ControlCan.h" int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Hierdie funksie word gebruik om die ontvang- en stuurbuffer van die aangewese kanaal gespesifiseer deur skoon te maak
USB-CAN adapter.
DWORD __stdcall VCI_ClearBuffer (DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0.
CAN-indeks
KAN-kanaalindeks.
Terugsendings:
Retourwaarde = 1, wat beteken dat die bewerking suksesvol is; = 0 dui aan dat die operasie misluk het; = -1 dui aan dat die toestel nie bestaan ​​nie.

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 8

2.2.7. VCI_StartCAN
Hierdie funksie word gebruik om die CAN-beheerder en die interne onderbreking-ontvangsfunksie van die adapter te begin.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0.
CAN-indeks
KAN-kanaalindeks.
Terugsendings:
Retourwaarde = 1, wat beteken dat die bewerking suksesvol is; = 0 dui aan dat die operasie misluk het; = -1 dui aan dat die toestel nie bestaan ​​nie.

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 9

2.2.8. VCI_ResetCAN
Hierdie funksie word gebruik om die CAN-beheerder terug te stel.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0.
CAN-indeks
KAN-kanaalindeks.
Terugsendings:
Retourwaarde = 1, wat beteken dat die bewerking suksesvol is; = 0 dui aan dat die operasie misluk het; = -1 dui aan dat die toestel nie bestaan ​​nie.

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 10

2.2.9. VCI_Send
Hierdie funksie word gebruik om CAN-boodskapraam te stuur.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0.
CAN-indeks
KAN-kanaalindeks. pStuur
Die eerste adres van die data raam skikkings wat gestuur moet word.
Lengte
Die aantal datarame wat gestuur moet word, die maksimum aantal is 1000, die aanbevole waarde is 48 onder hoë spoed.
Terugsendings:
Gee die werklike aantal rame wat reeds gestuur is, die terugkeerwaarde = -1 dui op 'n toestelfout.
Bv
WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 11

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 12

2.2.10. VCI_Ontvang
Hierdie funksie word gebruik om ontvangs te versoek.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0.
CAN-indeks
KAN-kanaalindeks.
pOntvang
Om die eerste stelwyser van die datarame te ontvang.
Len
Die skikkinglengte van die dataraam moet meer as 2500 wees om normale boodskap terug te gee.
Andersins sal die terugkeerlengte nul wees of die boodskap ontvang is of nie. die adapter stel 'n 2000-raam buffer vir elke kanaal. Gebaseer op sy eie stelsel en werksomgewing, kan die gebruiker 'n gepaste skikkingslengte van 2500 kies.
Wagtyd gereserveer.
Terugsendings:
Gee die aantal rame wat werklik gelees is, -1 dui toestelfoute aan.
Bv
WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 13

DEEL DRIE ANDER FUNKSIES EN DATA STRUKTUUR BESKRYWING

Hierdie hoofstuk beskryf ander datatipes en funksies van die onversoenbare ZLG-koppelvlakbiblioteek vervat in USB-CAN-adapterkoppelvlakbiblioteek ControlCAN.dll. Doen asseblief
nie hierdie funksies oproep as 'n versoenbare ZLG-model vir sekondêre ontwikkeling gebruik word om nie versoenbaarheid te beïnvloed nie.
3.1 FUNKSIE BESKRYWING
3.1.1. VCI_UsbDeviceReset
Stel USB-CAN-adapter terug, moet die toestel weer oopmaak na terugstelling deur VCI_OpenDevice te gebruik.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserved
Parameters:
DevType
Soort toestel. Sien: Adapter toestel tipe definisie.
DevIndex
Toestelindeks, bvample, wanneer daar net een USB-CAN-adapter is, is die indeksnommer 0, wanneer daar veelvuldige USB-CAN-adapters is, begin die indeksnommers in 'n stygende volgorde vanaf 0.
Voorbehou Voorbehou.
Terugsendings:
Retourwaarde = 1, wat beteken dat die bewerking suksesvol is; = 0 dui aan dat die operasie misluk het; = -1 dui aan dat die toestel nie bestaan ​​nie.

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 14

bRel = VCI_UsbDeviceReset(nDeviceType, Onafhanklikheid, 0);
3.1.2. VCI_FindUsbDevice2
Wanneer dieselfde rekenaar veelvuldige USB-CAN gebruik, kan gebruiker hierdie funksie gebruik om die huidige toestel te vind.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parameters:
pInligting
pInfo word gebruik om die parameters van die eerste databufferadreswyser te stoor.
Returns
Gee die nommer van die USB-CAN-adapter terug wat by die rekenaar ingeprop is.

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 15

Deel Vier Interface Biblioteek Funksies Gebruik Proses
Ten einde toestelfunksie te vermenigvuldig, het ons addisionele funksies verskaf (funksies aangebied met 'n groen agtergrond), hierdie funksies sluit in: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Tydens die tweede ontwikkeling moet hierdie funksies nie noodwendig opgeroep word nie. Selfs hierdie funksies word geïgnoreer, alle USB-CAN-adapterfunksies kan bereik word.

WAVESHARE USB CAN Bus tussenvlak Adapter Interface Funksie Biblioteek - Fig 16

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

Dokumente / Hulpbronne

WAVESHARE USB-CAN Bus Tussenvlak Adapter Interface Funksie Biblioteek [pdf] Instruksiehandleiding
USB-CAN Bus Interface Adapter Interface Funksie Biblioteek, USB-CAN, Bus Inter face Adapter Interface Funksie Biblioteek, Interface Funksie Biblioteek, Funksie Biblioteek

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *