WAVESHARE ලාංඡනයUSB-CAN බස් අතුරුමුහුණත
ඇඩැප්ටර අතුරුමුහුණත් කාර්යය
පුස්තකාල පරිශීලක උපදෙස්WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library

පළමු කොටසVIEW

CAN බස් සන්නිවේදන පරීක්ෂණයට යාමට පරිශීලකයා USB-CAN බස් අතුරුමුහුණත් ඇඩැප්ටරය භාවිතා කරන්නේ නම්, පසුව ඔහුට පරීක්ෂණයේ දත්ත යැවීම සහ ලබා ගැනීම සඳහා සපයන ලද USB-CAN මෙවලම් මෘදුකාංගය කෙලින්ම භාවිතා කළ හැකිය.
පරිශීලකයා තමාගේම නිෂ්පාදන සඳහා මෘදුකාංග වැඩසටහනක් ලිවීමට අදහස් කරන්නේ නම්. කරුණාකර පහත උපදෙස් හොඳින් කියවා s වෙතින් යොමුව ගන්නampඅපි සපයන le කේතය:
⑴ 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 - Figure 1

සාමාජික:
hw_අනුවාදය
දෘඪාංග අනුවාද අංකය, ෂඩ් දශම අංකනය. උදා 0x0100 V1.00 නියෝජනය කරයි.
fw_අනුවාදය
දෘඪාංග අනුවාද අංකය, ෂඩ් දශම අංකනය. උදා 0x0100 V1.00 නියෝජනය කරයි.
2 පිටුව
dr_අනුවාදය

ධාවක අනුවාද අංකය, ෂඩ් දශම අංකනය. උදා 0x0100 V1.00 නියෝජනය කරයි.
අනුවාදයේ
අතුරුමුහුණත් පුස්තකාල අනුවාද අංකය, ෂඩ් දශම අංකනය. උදා 0x0100 V1.00 නියෝජනය කරයි.
irq_Num
පද්ධතිය වෙන් කර ඇත.
can_Num
CAN නාලිකාවේ මුළු සංඛ්‍යාව නියෝජනය කරයි.
str_Serial_Num
මෙම පුවරු කාඩ්පතේ අනුක්‍රමික අංකය.
str_hw_Type
“USBCAN V1.00” වැනි දෘඪාංග වර්ගය (සටහන: string terminator '\0' ඇතුළත් වේ).
වෙන් කර ඇත
පද්ධතිය වෙන් කර ඇත.
2.1.3 VCI_CAN_OBJ
VCI_Transmit සහ VCI_Receive ශ්‍රිතවල, CAN පණිවිඩ රාමුව සම්ප්‍රේෂණය කිරීමට VCI_CAN_OBJ ව්‍යුහය භාවිතා කරයි.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Fig

සාමාජික:
ID
පණිවිඩ හඳුනාගැනීම. සෘජු හැඳුනුම්පත ආකෘතිය, දකුණට පෙළගස්වා ඇත, කරුණාකර යොමු වන්න: ඇමුණුම XNUMX: ID පෙළගැස්වීමේ විස්තර.
TimeStamp
ශාන්ත පිළිගැනීමamp කාල රාමුවේ තොරතුරු, CAN පාලකය ආරම්භ කරන විට වේලාව ආරම්භ කරන්න, ඒකකය 0. 1ms වේ.
කාල කොඩිය
කාලය st භාවිතා කළ යුතුද යන්න සම්බන්ධයෙන්amp, 1 ඵලදායී TimeSt වේamp. TimeFlag සහ TimeStamp රාමුව ලැබුණු විට පමණක් අර්ථවත් වේ.
SendType
යැවීමේ වර්ගය. = 0 සාමාන්‍ය වර්ගය දක්වයි, = 1 තනි යැවීම පෙන්නුම් කරයි.
දුරස්ථ කොඩිය
එය දුරස්ථ ධජයක් වේවා. = 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 - Figure 2

සාමාජික:
AcCode
පෙරූ පිළිගැනීමේ කේතය ලබා ගන්න.
AcMask
පෙරහන් මාස්ක් ලබා ගන්න.
වෙන් කර ඇත
වෙන් කර ඇත.
පෙරහන
පෙරීමේ ක්‍රමය, 0-3 පරාසය සැකසීමට ඉඩ දෙමින්, විස්තර සඳහා පෙරහන් මාදිලි වගුවේ 2.2.3 කොටස බලන්න.
කාලය 0
SJA1000 Baud අනුපාත පරාමිතිය, Timing0 (BTR0) .
කාලය 1
SJA1000 Baud අනුපාත පරාමිතිය, Timing1 (BTR1) .
මාදිලිය
මෙහෙයුම් මාදිලිය, 0 = සාමාන්‍ය ක්‍රියාකාරිත්වය, 1 = සවන් දීමට-පමණක් මාදිලිය, 2 = ස්වයංසිද්ධ ඇතුළත් කිරීම් සහ පරීක්ෂණ ප්‍රකාරය යැවීම.
අදහස්:
පෙරහන් සිටුවම් ගැන කරුණාකර බලන්න: ඇමුණුම II: CANparameter සැකසුම් උපදෙස්.
බෝඩ් අනුපාතය සැකසීමට CAN Timing0 සහ Timing1 භාවිතා වේ, මෙම පරාමිති දෙක භාවිතා කරනු ලබන්නේ ආරම්භයේදී පමණිtage.
සාම්ප්රදායික Baud යොමු වගුව:

CAN Baud අනුපාතය වේලාව 0(BTR0) වේලාව 1(BTR1)
10k bps 0x31 0x1 සී
20k bps 0x18 0x1 සී
40k bps 0x87 0xFF
50k bps 0x09 0x1 සී
80k bps 0x83 0xFF
100k bps 0x04 0x1 සී
125k bps 0x03 0x1 සී
200k bps 0x81 0xFA
250k bps 0x01 0x1 සී
400k bps 0x80 0xFA
500k bps 0x00 0x1 සී
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. Baud අනුපාත පරාමිතිය සැකසීමට පරිශීලකයන් SJA1000 (16MHz) පමණක් අනුගමනය කළ යුතුය.
  2. ඇඩැප්ටරය 10K ට අඩු Baud අනුපාතයට තාවකාලිකව සහය නොදක්වයි.

2.2. කාර්යය විස්තරය
2.2.1. VCI_OpenDevice
මෙම කාර්යය උපාංග සම්බන්ධ කිරීමට භාවිතා කරයි.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD වෙන්කර ඇත);
පරාමිතීන්:
DevType
උපාංග වර්ගය. බලන්න: ඇඩැප්ටර උපාංග වර්ගය අර්ථ දැක්වීම.
DevIndex
උපාංග දර්ශකය, උදාample, එක් USB-CAN ඇඩැප්ටරයක් ​​පමණක් ඇති විට, දර්ශක අංකය 0 වේ, බහු USB-CAN ඇඩැප්ටර ඇති විට, 0 සිට ආරම්භ වන ආරෝහණ අනුපිළිවෙලෙහි දර්ශක අංක.
වෙන් කර ඇත
රඳවා ගැනීමේ පරාමිතීන්, 0 පුරවන්න.
ප්‍රතිලාභ:
ප්‍රතිලාභ අගය = 1, එනම් මෙහෙයුම සාර්ථක බව; = 0 පෙන්නුම් කරන්නේ මෙහෙයුම අසාර්ථක වූ බවයි; = -1 උපාංගය නොපවතියි.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Fig3

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 - Figure 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 සිට ආරම්භ වන ආරෝහණ අනුපිළිවෙලෙහි දර්ශක අංක.
CANIndex
CAN නාලිකා දර්ශකය, එනම් CAN නාලිකාවක් පමණක් ඇති විට, දර්ශක අංකය 0, දෙකක් තිබේ නම්, දර්ශක අංකය 0 හෝ 1 විය හැක.
pInitConfig
ආරම්භක පරාමිති ව්යුහය. සාමාජිකයින්ගේ පරාමිති ලැයිස්තුව:

සාමාජික ක්රියාකාරී විස්තරය
pInitConfig->AccCode AccCode සහ AccMask කුමන පැකට් පිළිගත හැකිද යන්න තීරණය කිරීමට එකට වැඩ කළ හැක. මෙම රෙජිස්ටර් දෙක ID වම් පසට පෙළගස්වා තැබීමට භාවිතා කරයි, එනම්, AccCode හි ඉහළම බිට් (Bit31) සහ AccMask ID අගයේ ඉහළම බිට් සමඟ පෙළගැසී ඇත.
pInitConfig->AccMask ID පෙළගැස්ම ගැන ඇමුණුම් බලන්න: ඇමුණුම I:
ID පෙළගැස්වීමේ විස්තර.
උදා: ඔබ AcCode හි අගය 0x24600000 ලෙස සකසන්නේ නම් (එනම් 0x123 බිටු 21 කින් වමට මාරු වේ), AccMask අගය
0x00000000 ලෙස සකසා ඇත, පසුව CAN පණිවිඩ රාමු හැඳුනුම්පත 0x123 සහිත පැකට් පමණක් පිළිගත හැකිය (AccMask අගය 0x00000000 සියලු බිටු අදාළ බව පෙන්නුම් කරයි
බිටු). AccCode අගය 0x24600000 ලෙස සකසා ඇත්නම්, AccMask අගය 0x600000 ලෙස සකසා ඇත (0x03 බිටු 21 කින් වමට මාරු කරනු ලැබේ), ඉන්පසු CAN පණිවිඩ රාමු ID 0x120 ~ 0x123 සහිත පැකට් පමණක් පිළිගත හැකිය (AccMask අගය
0x600000 පෙන්නුම් කරන්නේ bit0 ~ bit1 හැර අනෙකුත් බිටු (bit2 ~ bit10) අදාළ බිටු බවයි).
සටහන: මෙම පෙරහන් සැකසුම examples සම්මත රාමුවට, උදාample, high 11-bit යනු වලංගු බිට් වේ; විස්තීරණ රාමුව සම්බන්ධයෙන්, පසුව වලංගු ID 29-bit වේ. AccCode සහ AccMask වලංගු බිට් ලෙස ඉහළ-බිට් 29ක් සකසා ඇත!
pInitConfig-> වෙන්කර ඇත වෙන් කර ඇත
pInitConfig-> පෙරහන පෙරහන් මාදිලියේ සිටුවම් කරුණාකර පෙරහන් මාදිලියේ වගුවේ කොටස බලන්න.
pInitConfig->Timing0 Baud rateT0 සැකසුම
pInitConfig->Timing1 Baud rateT1 සැකසුම
pInitConfig-> මාදිලිය මෙහෙයුම් මාදිලිය:
0-සාමාන්‍ය මෙහෙයුම
1-සවන්දීම-පමණි මාදිලිය
2-ස්වයංසිද්ධ ඇතුළත් කිරීම් සහ යැවීමේ පරීක්ෂණ මාදිලිය (මෙම අගය ZLG ක්‍රියාකාරී පුස්තකාලයෙන් බැහැර කර ඇත)

පෙරහන් මාදිලි වගුව:

වටිනාකම නම විස්තරය
1 සියලුම වර්ග ලබා ගන්න සම්මත සහ දිගු රාමුව සඳහා සුදුසු වේ!
2 සම්මත රාමුව පමණක් ලබා ගන්න සම්මත රාමුවට සුදුසු, සහ දිගු කර ඇත
රාමුව සෘජුවම පෙරීමෙන් ඉවත් කරනු ලැබේ!
3 දිගු රාමුව පමණක් ලබා ගන්න දිගු රාමුවකට සුදුසු වන අතර සම්මත රාමුව විසින් ඉවත් කරනු ලැබේ
සෘජුවම පෙරීම! .

ප්‍රතිලාභ:
ප්‍රතිලාභ අගය = 1, එනම් මෙහෙයුම සාර්ථක බව; = 0 පෙන්නුම් කරන්නේ මෙහෙයුම අසාර්ථක වූ බවයි; = -1 උපාංගය නොපවතියි.
උදා

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 4

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 6

2.2.4. VCI_ReadBoardInfo
මෙම කාර්යය ඇඩැප්ටරයේ දෘඪාංග තොරතුරු කියවීමට භාවිතා කරයි. පොදුවේ ගත් කල, එය නොසලකා හැරිය හැක.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
පරාමිතීන්:
DevType
උපාංග වර්ගය. බලන්න: ඇඩැප්ටර උපාංග වර්ගය අර්ථ දැක්වීම.
DevIndex
උපාංග දර්ශකය, උදාample, එක් USB-CAN ඇඩැප්ටරයක් ​​පමණක් ඇති විට, දර්ශක අංකය 0 වේ, බහු USB- CAN ඇඩැප්ටර ඇති විට, 0 සිට ආරම්භ වන ආරෝහණ අනුපිළිවෙලෙහි දර්ශක අංක. pInfo
VCI_BOARD_INFO උපාංග තොරතුරු ව්‍යුහ දර්ශකය ගබඩා කිරීමට භාවිතා කරයි.
ප්‍රතිලාභ:
ප්‍රතිලාභ අගය = 1, එනම් මෙහෙයුම සාර්ථක බව; = 0 පෙන්නුම් කරන්නේ මෙහෙයුම අසාර්ථක වූ බවයි; = -1 උපාංගය නොපවතියි.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 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 සිට ආරම්භ වන ආරෝහණ අනුපිළිවෙලෙහි දර්ශක අංක.
CANIndex
CAN නාලිකා දර්ශකය.
ප්‍රතිලාභ:
තවමත් කියවා නැති රාමු ආපසු දෙන්න.
උදා
#ඇතුළත් "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 සිට ආරම්භ වන ආරෝහණ අනුපිළිවෙලෙහි දර්ශක අංක.
CANIndex
CAN නාලිකා දර්ශකය.
ප්‍රතිලාභ:
ප්‍රතිලාභ අගය = 1, එනම් මෙහෙයුම සාර්ථක බව; = 0 පෙන්නුම් කරන්නේ මෙහෙයුම අසාර්ථක වූ බවයි; = -1 උපාංගය නොපවතියි.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 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 සිට ආරම්භ වන ආරෝහණ අනුපිළිවෙලෙහි දර්ශක අංක.
CANIndex
CAN නාලිකා දර්ශකය.
ප්‍රතිලාභ:
ප්‍රතිලාභ අගය = 1, එනම් මෙහෙයුම සාර්ථක බව; = 0 පෙන්නුම් කරන්නේ මෙහෙයුම අසාර්ථක වූ බවයි; = -1 උපාංගය නොපවතියි.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 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 සිට ආරම්භ වන ආරෝහණ අනුපිළිවෙලෙහි දර්ශක අංක.
CANIndex
CAN නාලිකා දර්ශකය.
ප්‍රතිලාභ:
ප්‍රතිලාභ අගය = 1, එනම් මෙහෙයුම සාර්ථක බව; = 0 පෙන්නුම් කරන්නේ මෙහෙයුම අසාර්ථක වූ බවයි; = -1 උපාංගය නොපවතියි.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 10

2.2.9 VCI_Transmit
මෙම කාර්යය CAN පණිවිඩ රාමුව යැවීමට භාවිතා කරයි.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD දිග);
පරාමිතීන්:
DevType
උපාංග වර්ගය. බලන්න: ඇඩැප්ටර උපාංග වර්ගය අර්ථ දැක්වීම.
DevIndex
උපාංග දර්ශකය, උදාample, එක් USB-CAN ඇඩැප්ටරයක් ​​පමණක් ඇති විට, දර්ශක අංකය 0 වේ, බහු USB-CAN ඇඩැප්ටර ඇති විට, 0 සිට ආරම්භ වන ආරෝහණ අනුපිළිවෙලෙහි දර්ශක අංක.
CANIndex
CAN නාලිකා දර්ශකය. pSend
යැවිය යුතු දත්ත රාමු අරා වල පළමු ලිපිනය.
දිග
යැවිය යුතු දත්ත රාමු ගණන, උපරිම සංඛ්‍යාව 1000, අධි වේගය යටතේ නිර්දේශිත අගය 48.
ප්‍රතිලාභ:
දැනටමත් යවා ඇති සැබෑ රාමු ගණන ආපසු ලබා දෙන්න, ආපසු ලැබෙන අගය = -1 උපාංගයේ දෝෂයක් පෙන්නුම් කරයි.
උදා
WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 11

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 12

2.2.10. VCI_ලැබෙන්න
පිළිගැනීමක් ඉල්ලා සිටීමට මෙම කාර්යය භාවිතා කරයි.
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 සිට ආරම්භ වන ආරෝහණ අනුපිළිවෙලෙහි දර්ශක අංක.
CANIndex
CAN නාලිකා දර්ශකය.
ලබාගන්න
දත්ත රාමු වල පළමු කට්ටල දර්ශකය ලබා ගැනීමට.
ලෙන්
සාමාන්‍ය පණිවිඩය ලබා දීමට දත්ත රාමුවේ අරාව දිග 2500ට වඩා වැඩි විය යුතුය.
එසේ නොමැතිනම්, පණිවිඩය ලැබුණත් නැතත් ආපසු පැමිණීමේ දිග ශුන්‍ය වේ. ඇඩැප්ටරය සෑම නාලිකාවක් සඳහාම රාමු 2000 බෆරයක් සකසා ඇත. ඔහුගේම පද්ධතිය සහ වැඩ කරන පරිසරය මත පදනම්ව, පරිශීලකයාට 2500 සිට සුදුසු අරා දිගක් තෝරා ගත හැකිය.
රැඳී සිටින කාලය වෙන් කර ඇත.
ප්‍රතිලාභ:
ඇත්ත වශයෙන්ම කියවා ඇති රාමු ගණන ආපසු දෙන්න, -1 උපාංග දෝෂ පෙන්නුම් කරයි.
උදා
WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 13

තුන්වන කොටස අනෙකුත් කාර්යයන් සහ දත්ත ව්‍යුහ විස්තරය

මෙම පරිච්ඡේදය USB-CAN ඇඩැප්ටර අතුරුමුහුණත් පුස්තකාලයේ ControlCAN.dll හි අඩංගු නොගැලපෙන ZLG අතුරුමුහුණත් පුස්තකාලයේ අනෙකුත් දත්ත වර්ග සහ කාර්යයන් විස්තර කරයි. කරුණාකරලා කරන්න
ගැළපුමට බල නොපාන ලෙස ද්විතීයික සංවර්ධනය සඳහා ගැළපෙන ZLG ආකෘතියක් භාවිතා කරන්නේ නම් මෙම ශ්‍රිතයන් අමතන්න එපා.
3.1 කාර්යය විස්තරය
3.1.1. VCI_UsbDeviceReset
USB-CAN ඇඩැප්ටරය නැවත සකසන්න, VCI_OpenDevice භාවිතයෙන් නැවත සැකසීමෙන් පසු උපාංගය නැවත විවෘත කිරීමට අවශ්‍ය වේ.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD වෙන්කර ඇත
පරාමිතීන්:
DevType
උපාංග වර්ගය. බලන්න: ඇඩැප්ටර උපාංග වර්ගය අර්ථ දැක්වීම.
DevIndex
උපාංග දර්ශකය, උදාample, එක් USB-CAN ඇඩැප්ටරයක් ​​පමණක් ඇති විට, දර්ශක අංකය 0 වේ, බහු USB-CAN ඇඩැප්ටර ඇති විට, 0 සිට ආරම්භ වන ආරෝහණ අනුපිළිවෙලෙහි දර්ශක අංක.
වෙන් කර ඇත.
ප්‍රතිලාභ:
ප්‍රතිලාභ අගය = 1, එනම් මෙහෙයුම සාර්ථක බව; = 0 පෙන්නුම් කරන්නේ මෙහෙයුම අසාර්ථක වූ බවයි; = -1 උපාංගය නොපවතියි.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 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 - Figure 15

ක්‍රියාවලිය භාවිතා කරමින් හතරවන කොටස අතුරුමුහුණත් පුස්තකාල ක්‍රියාකාරකම්
උපාංග ශ්‍රිතය ගුණ කිරීම සඳහා, අපි අමතර ශ්‍රිත (හරිත පසුබිමක් සමඟ ඉදිරිපත් කරන ලද කාර්යයන්) සපයා ඇත, මෙම ශ්‍රිතවලට ඇතුළත් වන්නේ: VCI_FindUsbDevice2 VCI_UsbDeviceReset. දෙවන සංවර්ධනය අතරතුර, මෙම කාර්යයන් අනිවාර්යයෙන්ම ඉල්ලා සිටිය යුතු නොවේ. මෙම කාර්යයන් පවා නොසලකා හරිනු ලැබේ, සියලුම USB-CAN ඇඩැප්ටර කාර්යයන් සාක්ෂාත් කරගත හැකිය.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Figure 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

යොමු කිරීම්

කමෙන්ට් එකක් දාන්න

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය ප්‍රකාශනය නොකෙරේ. අවශ්‍ය ක්ෂේත්‍ර සලකුණු කර ඇත *