WAVESHARE լոգոնUSB-CAN ավտոբուսի ինտերֆեյս
Ադապտորների միջերեսի գործառույթը
Գրադարանի օգտագործողի ցուցումներWAVESHARE USB CAN Bus Inter face Adapter Interface Function Library

ՄԱՍ ԱՌԱՋԻՆVIEW

Եթե ​​օգտագործողը պարզապես օգտագործում է USB-CAN ավտոբուսի ինտերֆեյսի ադապտեր՝ CAN ավտոբուսի կապի թեստը անցնելու համար, այնուհետև նա կարող է ուղղակիորեն օգտագործել տրամադրված USB-CAN Tool ծրագրաշարը՝ թեստի տվյալները ուղարկելու և ստանալու համար:
Եթե ​​օգտագործողը մտադիր է ծրագրային ծրագիր գրել իր սեփական արտադրանքի համար։ Խնդրում ենք ուշադիր կարդալ հետևյալ հրահանգները և տեղեկանք վերցնել sample կոդը մենք տրամադրում ենք.
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can:
Մշակել գրադարան file :ControlCAN.lib, ControlCAN.DLL
VC տարբերակի գործառույթի հռչակագիր file :ControlCAN.h
VB տարբերակի ֆունկցիայի հռչակագիր file: ControlCAN.bas
ԼաբորատորիաVIEW տարբերակ գրադարանի ֆունկցիայի փաթեթի մոդուլ՝ControlCAN.llb
Delphi տարբերակի գործառույթի հռչակագիր file: ControlCAN.pas

ՄԱՍ ԵՐԿՐՈՐԴ ՀԱՄԱՏԵՂԻՐ ՖՈՒՆԿՑԻԱՅԻ ԳՐԱԴԱՐԱՆ ԵՎ ՏՎՅԱԼՆԵՐԻ ԿԱՌՈՒՑՎԱԾՔ

2.1. ՏԵՍԱԿԻ ՍԱՀՄԱՆՈՒՄ
2.1.1. Սարքի տեսակը

Տիպի սահմանում Տիպի արժեքը Նկարագրություն
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO կառուցվածքը պարունակում է USB-CAN շարքի ինտերֆեյսի քարտի սարքի մասին տեղեկատվություն:
Կառուցվածքը լրացնելու է VCI_ReadBoardInfo ֆունկցիան։

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 1

Անդամ.
hw_Version
Սարքավորման տարբերակի համարը, տասնվեցական նշումը: Օրինակ 0x0100-ը ներկայացնում է V1.00:
fw_Version
Սարքավորման տարբերակի համարը, տասնվեցական նշումը: Օրինակ 0x0100-ը ներկայացնում է V1.00:
Էջ 2
dr_Version

Վարորդի տարբերակի համարը, տասնվեցական նշում: Օրինակ 0x0100-ը ներկայացնում է V1.00:
in_Version
Ինտերֆեյսի գրադարանի տարբերակի համարը, տասնվեցական նշում: Օրինակ 0x0100-ը ներկայացնում է V1.00:
irq_Num
Համակարգը վերապահված է:
can_Num
Ներկայացնում է CAN ալիքի ընդհանուր թիվը:
str_Serial_Num
Այս տախտակի քարտի սերիական համարը:
str_hw_Type
Սարքավորումների տեսակը, ինչպիսին է «USBCAN V1.00» (Ծանոթագրություն. Ներառում է լարային տերմինատոր «\0»):
Վերապահված
Համակարգը վերապահված է:
2.1.3. VCI_CAN_OBJ
VCI_Transmit և VCI_Receive ֆունկցիաներում VCI_CAN_OBJ կառուցվածքն օգտագործվում է CAN հաղորդագրության շրջանակը փոխանցելու համար:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկ

Անդամ.
ID
Հաղորդագրության նույնացուցիչ: Ուղղակի նույնականացման ձևաչափ, աջ հարթեցված, խնդրում ենք ծանոթանալ Հավելված 1-ին: ID հավասարեցման մանրամասները:
TimeStamp
Ստանալով սamp տեղեկություններ ժամանակային շրջանակի մասին, սկսելու ժամանակը, երբ CAN կարգավորիչը սկզբնավորվում է, միավորը 0. 1ms է:
TimeFlag
Ժամանակն օգտագործել-չօգտագործելու առումով սamp, 1-ը արդյունավետ TimeStamp. TimeFlag և TimeStamp իմաստալից են միայն այն դեպքում, երբ շրջանակն ստացվում է:
SendType
Ուղարկման տեսակը. = 0-ը ցույց է տալիս Normal տեսակը, = 1-ը ցույց է տալիս Single Send:
RemoteFlag
Անկախ նրանից, թե դա հեռավոր դրոշ է: = 1-ը ցույց է տալիս հեռավոր դրոշը, = 0-ը ցույց է տալիս տվյալների դրոշը:
Արտաքին դրոշ
Անկախ նրանից, թե դա արտաքին դրոշ է: = 1-ը ցույց է տալիս արտաքին դրոշը, = 0-ը ցույց է տալիս ստանդարտ դրոշը:
DataLen
Տվյալների երկարությունը (<=8) , այսինքն՝ տվյալների երկարությունը:
Տվյալներ
Փաթեթային տվյալներ.
Վերապահված
Համակարգը վերապահված է:
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG կառուցվածքը սահմանում է CAN-ի սկզբնավորման կոնֆիգուրացիան: Կառուցվածքը լրացնելու է VCI_InitCan ֆունկցիան:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 2

Անդամ.
Accode
Ստացեք ֆիլտրացված ընդունման կոդը:
AccMask
Ստացեք ֆիլտրի դիմակ:
Վերապահված
Վերապահված է.
Զտել
Զտման մեթոդը, որը թույլ է տալիս սահմանել 0-3 միջակայքը, մանրամասների համար տես ֆիլտրի ռեժիմի աղյուսակի 2.2.3 բաժինը:
Ժամկետ 0
SJA1000 Baud արագության պարամետր, Time0 (BTR0) .
Ժամկետ 1
SJA1000 Baud արագության պարամետր, Time1 (BTR1) .
Ռեժիմ
Գործառնական ռեժիմ, 0 = նորմալ աշխատանք, 1 = միայն լսելու ռեժիմ, 2 = ինքնաբուխ ընդունելություն և փորձարկման ռեժիմ:
Դիտողություններ:
Ֆիլտրի կարգավորումների մասին խնդրում ենք դիտել Հավելված II. CAN պարամետրի տեղադրման հրահանգներ:
CAN Timing0-ը և Timing1-ն օգտագործվում են բուդ արագությունը սահմանելու համար, այս երկու պարամետրերն օգտագործվում են միայն սկզբնավորման ժամանակtage.
Պայմանական Baud տեղեկատու աղյուսակ.

CAN Baud տոկոսադրույքը Ժամկետ 0 (BTR0) Ժամկետ 1 (BTR1)
10 հազար բիտ վրկ 0x31 0x1C
20 հազար բիտ վրկ 0x18 0x1C
40 հազար բիտ վրկ 0x87 0xFF
50 հազար բիտ վրկ 0x09 0x1C
80 հազար բիտ վրկ 0x83 0xFF
100 հազար բիտ վրկ 0x04 0x1C
125 հազար բիտ վրկ 0x03 0x1C
200 հազար բիտ վրկ 0x81 0xFA
250 հազար բիտ վրկ 0x01 0x1C
400 հազար բիտ վրկ 0x80 0xFA
500 հազար բիտ վրկ 0x00 0x1C
666 հազար բիտ վրկ 0x80 0xB6
800 հազար բիտ վրկ 0x00 0x16
1000 հազար բիտ վրկ 0x00 0x14
33.33 Կբիթ/վրկ 0x09 0x6F
66.66 Կբիթ/վրկ 0x04 0x6F
83.33 Կբիթ/վրկ 0x03 0x6F
  1. Օգտագործողները պետք է հետևեն միայն SJA1000-ին (16 ՄՀց)՝ Baud արագության պարամետրը սահմանելու համար:
  2. Ադապտորը ժամանակավորապես չի աջակցում Baud արագությունը 10K-ից ցածր:

2.2. ՖՈՒՆԿՑԻԱՅԻ ՆԿԱՐԱԳՐՈՒԹՅՈՒՆ
2.2.1. VCI_OpenDevice
Այս ֆունկցիան օգտագործվում է սարքերը միացնելու համար:
DWORD __stdcall VCI_OpenDevice (DWORD DevType, DWORD DevIndex, DWORD Reserved);
Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակample, երբ կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարներն աճման կարգով՝ սկսած 0-ից:
Վերապահված
Պահպանման պարամետրեր, լրացրեք 0:
Վերադարձնում է՝
Վերադարձի արժեքը = 1, ինչը նշանակում է, որ գործողությունը հաջող է; = 0 ցույց է տալիս, որ գործողությունը ձախողվել է. = -1 ցույց է տալիս, որ սարքը գոյություն չունի:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 3

2.2.2. VCI_CloseDevice
Այս ֆունկցիան օգտագործվում է կապը փակելու համար:
DWORD __stdcall VCI_CloseDevice (DWORD DevType, DWORD DevIndex);
Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակample, երբ կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարներն աճման կարգով՝ սկսած 0-ից:
Վերադարձնում է՝
Վերադարձի արժեքը = 1, ինչը նշանակում է, որ գործողությունը հաջող է; = 0 ցույց է տալիս, որ գործողությունը ձախողվել է. = -1 ցույց է տալիս, որ սարքը գոյություն չունի:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 4

2.2.3. VCI_InitCan
Այս ֆունկցիան օգտագործվում է նշված CAN-ը սկզբնավորելու համար:
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակample, երբ կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարներն աճման կարգով՝ սկսած 0-ից:
CANIindex
CAN ալիքի ինդեքսը, օրինակ, երբ կա միայն մեկ CAN ալիք, ինդեքսի թիվը 0 է, եթե կան երկու, ինդեքսի թիվը կարող է լինել 0 կամ 1:
pInitConfig
Նախնականացման պարամետրի կառուցվածքը: Անդամների պարամետրերի ցանկը.

Անդամ Ֆունկցիոնալ նկարագրություն
pInitConfig-> Accode AccCode-ը և AccMask-ը կարող են միասին աշխատել՝ որոշելու համար, թե որ փաթեթները կարող են ընդունվել: Այս երկու գրանցամատյանները օգտագործվում են ID-ն ձախ հավասարեցված դնելու համար, այսինքն՝ AccCode-ի և AccMask-ի ամենաբարձր բիթը (Bit31) հավասարեցվում է ID արժեքի ամենաբարձր բիթին:
pInitConfig->AccMask ID հավասարեցման մասին անդրադարձեք հավելվածներին. Հավելված I.
ID հավասարեցման մանրամասները:
Օրինակ՝ Եթե դուք սահմանում եք AccCode-ի արժեքը որպես 0x24600000 (այսինքն՝ 0x123-ը տեղափոխվում է ձախ 21 բիթով), AccMask արժեքը
դրված է 0x00000000, և այնուհետև կարող են ընդունվել միայն այն փաթեթները, որոնց CAN հաղորդագրության շրջանակի ID-ն 0x123 է (0x00000000 AcMask արժեքը ցույց է տալիս, որ բոլոր բիթերը համապատասխան են
բիթ): Եթե ​​AccCode արժեքը սահմանվում է 0x24600000, AccMask արժեքը սահմանվում է 0x600000 (0x03-ը տեղափոխվում է ձախ 21 բիթով), ապա միայն CAN հաղորդագրության շրջանակի ID-ով փաթեթները կարող են ընդունվել 0x120 ~ 0x123 (AccMask արժեքը:
0x600000 ցույց է տալիս, որ բացի bit0 ~ bit1-ից, մյուս բիթերը (bit2 ~ bit10) համապատասխան բիթ են:
Նշում. Այս ֆիլտրի կարգավորումը օրինակamples ստանդարտ շրջանակին, օրինակample, բարձր 11-bit-ը վավեր բիթ է; ընդլայնված շրջանակի դեպքում, և ապա վավեր ID-ն 29-բիթ է: AccCode-ը և AccMask-ը որպես վավեր բիթ սահմանել են բարձր 29 բիթ:
pInitConfig->Reserved վերապահված
pInitConfig->Filter Զտման ռեժիմի կարգավորումները խնդրում ենք դիտել ֆիլտրի ռեժիմի աղյուսակի բաժինը:
pInitConfig->Timing0 Baud rate T0 կարգավորում
pInitConfig->Timing1 Baud rate T1 կարգավորում
pInitConfig->Mode Աշխատանքային ռեժիմ:
0- նորմալ աշխատանք
1-Միայն լսելու ռեժիմ
2-ինքնաբուխ ընդունման և ուղարկման թեստային ռեժիմ (այս արժեքը բացառված է ZLG ֆունկցիայի գրադարանից)

Զտման ռեժիմի աղյուսակ.

Արժեք Անուն Նկարագրություն
1 Ստացեք բոլոր տեսակները Հարմար է ինչպես ստանդարտ, այնպես էլ երկարացված շրջանակի համար:
2 Ստացեք միայն ստանդարտ շրջանակ Հարմար է ստանդարտ շրջանակի համար և երկարաձգված
շրջանակը կհեռացվի ուղղակիորեն զտման միջոցով:
3 Ստացեք միայն երկարացված շրջանակ Հարմար է երկարացված շրջանակի համար, և ստանդարտ շրջանակը կհեռացվի
ուղղակի զտում! .

Վերադարձնում է՝
Վերադարձի արժեքը = 1, ինչը նշանակում է, որ գործողությունը հաջող է; = 0 ցույց է տալիս, որ գործողությունը ձախողվել է. = -1 ցույց է տալիս, որ սարքը գոյություն չունի:
Օրինակ

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 4

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 6

2.2.4. VCI_ReadBoardInfo
Այս ֆունկցիան օգտագործվում է ադապտերների ապարատային տեղեկատվությունը կարդալու համար: Ընդհանուր առմամբ, դա կարելի է անտեսել։
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex, PVCI_BOARD_INFO pInfo);
Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակampեթե կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարները աճման կարգով՝ սկսած 0-ից: pInfo
VCI_BOARD_INFO-ն օգտագործվում է սարքի տեղեկատվական կառուցվածքի ցուցիչը պահելու համար:
Վերադարձնում է՝
Վերադարձի արժեքը = 1, ինչը նշանակում է, որ գործողությունը հաջող է; = 0 ցույց է տալիս, որ գործողությունը ձախողվել է. = -1 ցույց է տալիս, որ սարքը գոյություն չունի:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 7

2.2.5. VCI_GetReceiveNum
Այս ֆունկցիան օգտագործվում է ստացված, բայց չկարդացված շրջանակները նշանակված ընդունող բուֆերում նշելու համար:
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակample, երբ կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարները աճման կարգով՝ սկսած 0-ից:
CANIindex
CAN ալիքի ինդեքսը:
Վերադարձնում է՝
Վերադարձեք շրջանակները, որոնք դեռ չեն կարդացվել:
Օրինակ
#include «ControlCan.h» int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Այս ֆունկցիան օգտագործվում է նշված ալիքի ստացման և ուղարկման բուֆերը մաքրելու համար
USB-CAN ադապտեր:
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակample, երբ կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարները աճման կարգով՝ սկսած 0-ից:
CANIindex
CAN ալիքի ինդեքսը:
Վերադարձնում է՝
Վերադարձի արժեքը = 1, ինչը նշանակում է, որ գործողությունը հաջող է; = 0 ցույց է տալիս, որ գործողությունը ձախողվել է. = -1 ցույց է տալիս, որ սարքը գոյություն չունի:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 8

2.2.7. VCI_StartCAN
Այս ֆունկցիան օգտագործվում է CAN կարգավորիչը և ադապտերի ներքին ընդհատումների ընդունման գործառույթը գործարկելու համար:
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակample, երբ կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարներն աճման կարգով՝ սկսած 0-ից:
CANIindex
CAN ալիքի ինդեքսը:
Վերադարձնում է՝
Վերադարձի արժեքը = 1, ինչը նշանակում է, որ գործողությունը հաջող է; = 0 ցույց է տալիս, որ գործողությունը ձախողվել է. = -1 ցույց է տալիս, որ սարքը գոյություն չունի:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 9

2.2.8. VCI_ResetCAN
Այս ֆունկցիան օգտագործվում է CAN կարգավորիչը վերականգնելու համար:
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակample, երբ կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարներն աճման կարգով՝ սկսած 0-ից:
CANIindex
CAN ալիքի ինդեքսը:
Վերադարձնում է՝
Վերադարձի արժեքը = 1, ինչը նշանակում է, որ գործողությունը հաջող է; = 0 ցույց է տալիս, որ գործողությունը ձախողվել է. = -1 ցույց է տալիս, որ սարքը գոյություն չունի:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 10

2.2.9. VCI_Transmit
Այս ֆունկցիան օգտագործվում է CAN հաղորդագրության շրջանակ ուղարկելու համար:
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակample, երբ կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարներն աճման կարգով՝ սկսած 0-ից:
CANIindex
CAN ալիքի ինդեքսը: pSend
Տվյալների շրջանակի զանգվածների առաջին հասցեն, որոնք պետք է ուղարկվեն:
Երկարություն
Տվյալների շրջանակների քանակը, որոնք պետք է ուղարկվեն, առավելագույն թիվը 1000 է, առաջարկվող արժեքը՝ 48 բարձր արագությամբ:
Վերադարձնում է՝
Վերադարձրեք արդեն ուղարկված շրջանակների իրական թիվը, վերադարձի արժեքը = -1 ցույց է տալիս սարքի սխալը:
Օրինակ
WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 11

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 12

2.2.10. VCI_Receive
Այս ֆունկցիան օգտագործվում է ընդունելություն պահանջելու համար:
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակample, երբ կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարներն աճման կարգով՝ սկսած 0-ից:
CANIindex
CAN ալիքի ինդեքսը:
ստանալ
Տվյալների շրջանակների առաջին հավաքածուի ցուցիչը ստանալու համար:
Լեն
Նորմալ հաղորդագրություն վերադարձնելու համար տվյալների շրջանակի զանգվածի երկարությունը պետք է լինի 2500-ից ավելի:
Հակառակ դեպքում, վերադարձի երկարությունը կլինի զրո, անկախ նրանից, թե հաղորդագրությունը ստացվել է, թե ոչ: ադապտերը յուրաքանչյուր ալիքի համար սահմանել է 2000 շրջանակի բուֆեր: Իր սեփական համակարգի և աշխատանքային միջավայրի հիման վրա օգտատերը կարող է ընտրել համապատասխան զանգվածի երկարությունը 2500-ից։
Սպասման ժամանակը վերապահված է:
Վերադարձնում է՝
Վերադարձեք իրականում կարդացված շրջանակների քանակը, -1-ը ցույց է տալիս սարքի սխալները:
Օրինակ
WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 13

ՄԱՍ ԵՐՐՈՐԴ ԱՅԼ ՖՈՒՆԿՑԻԱՆԵՐ ԵՎ ՏՎՅԱԼՆԵՐԻ ԿԱՌՈՒՑՎԱԾՔԻ ՆԿԱՐԱԳՐՈՒԹՅՈՒՆԸ

Այս գլուխը նկարագրում է տվյալների այլ տեսակներ և գործառույթներ անհամատեղելի ZLG ինտերֆեյսի գրադարանում, որը պարունակվում է USB-CAN ադապտերների ControlCAN.dll գրադարանում: Խնդրում եմ անել
Մի կանչեք այս գործառույթները, եթե օգտագործեք համատեղելի ZLG մոդել երկրորդական զարգացման համար, որպեսզի չազդի համատեղելիության վրա:
3.1 ՖՈՒՆԿՑԻԱՅԻ ՆԿԱՐԱԳՐՈՒԹՅՈՒՆ
3.1.1. VCI_UsbDeviceReset
Վերականգնել USB-CAN ադապտերը, անհրաժեշտ է նորից բացել սարքը վերակայումից հետո՝ օգտագործելով VCI_OpenDevice:
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserved
Պարամետրեր:
DevType
Սարքի տեսակը. Տես՝ Ադապտոր սարքի տեսակի սահմանումը:
DevIndex
Սարքի ինդեքս, օրինակample, երբ կա միայն մեկ USB-CAN ադապտեր, ինդեքսի համարը 0 է, երբ կան մի քանի USB-CAN ադապտերներ, ինդեքսի համարներն աճման կարգով՝ սկսած 0-ից:
Վերապահված Վերապահված է։
Վերադարձնում է՝
Վերադարձի արժեքը = 1, ինչը նշանակում է, որ գործողությունը հաջող է; = 0 ցույց է տալիս, որ գործողությունը ձախողվել է. = -1 ցույց է տալիս, որ սարքը գոյություն չունի:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 14

bRel = VCI_UsbDeviceReset (nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Երբ նույն ԱՀ-ն օգտագործում է բազմաթիվ USB-CAN, օգտվողը կարող է օգտագործել այս գործառույթը՝ ընթացիկ սարքը գտնելու համար:
DWORD __stdcall VCI_FindUsbDevice2 (PVCI_BOARD_INFO pInfo);
Պարամետրեր:
pInfo
pInfo-ն օգտագործվում է տվյալների բուֆերի առաջին հասցեի ցուցիչի պարամետրերը պահելու համար:
Վերադարձնում է
Վերադարձրեք համակարգչին միացված USB-CAN ադապտերի համարը:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 15

Մաս չորրորդ Ինտերֆեյսի գրադարանի գործառույթները՝ օգտագործելով գործընթացը
Սարքի գործառույթը բազմապատկելու համար մենք տրամադրեցինք լրացուցիչ գործառույթներ (կանաչ ֆոնով ներկայացված գործառույթներ), այդ գործառույթները ներառում են՝ VCI_FindUsbDevice2 VCI_UsbDeviceReset: Երկրորդ զարգացման ընթացքում այդ գործառույթները պարտադիր չէ, որ կիրառվեն: Նույնիսկ այս գործառույթներն անտեսվում են, USB-CAN ադապտերների բոլոր գործառույթները կարող են իրականացվել:

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Նկար 16

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

Փաստաթղթեր / ռեսուրսներ

WAVESHARE USB-CAN Bus Inter face Adapter Interface Function Library [pdf] Հրահանգների ձեռնարկ
USB-CAN Bus Inter face Adapter Interface Function Library, USB-CAN, Bus Inter face Adapter Interface Function Library, Interface Function Library, Function Library

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *