USB-CAN பஸ் இடைமுகம்
அடாப்டர் இடைமுக செயல்பாடு
நூலக பயனர் அறிவுறுத்தல்
பகுதி ஒன்று ஓவர்VIEW
CAN பஸ் தொடர்பு சோதனைக்குச் செல்ல, பயனர் USB-CAN பஸ் இடைமுக அடாப்டரைப் பயன்படுத்தினால், சோதனையின் தரவை அனுப்பவும் பெறவும் வழங்கப்பட்ட USB-CAN கருவி மென்பொருளை அவர் நேரடியாகப் பயன்படுத்தலாம்.
பயனர் தனது சொந்த தயாரிப்புகளுக்கு மென்பொருள் நிரலை எழுத விரும்பினால். தயவு செய்து பின்வரும் வழிமுறைகளை கவனமாகப் படித்து, களில் இருந்து குறிப்பைப் பெறவும்ampநாங்கள் வழங்கும் le குறியீடு:
⑴ C++பில்டர் ⑵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
டெல்பி பதிப்பு செயல்பாடு அறிவிப்பு 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 செயல்பாட்டில் நிரப்பப்படும்.
உறுப்பினர்:
hw_பதிப்பு
வன்பொருள் பதிப்பு எண், ஹெக்ஸாடெசிமல் குறியீடு. எ.கா. 0x0100 என்பது V1.00ஐக் குறிக்கிறது.
fw_பதிப்பு
வன்பொருள் பதிப்பு எண், ஹெக்ஸாடெசிமல் குறியீடு. எ.கா. 0x0100 என்பது V1.00ஐக் குறிக்கிறது.
பக்கம் 2
dr_பதிப்பு
டிரைவர் பதிப்பு எண், ஹெக்ஸாடெசிமல் குறியீடு. எ.கா. 0x0100 என்பது V1.00ஐக் குறிக்கிறது.
இன்_பதிப்பு
இடைமுக நூலக பதிப்பு எண், ஹெக்ஸாடெசிமல் குறியீடு. எ.கா. 0x0100 என்பது V1.00ஐக் குறிக்கிறது.
irq_Num
அமைப்பு ஒதுக்கப்பட்டுள்ளது.
முடியும்_எண்
CAN சேனலின் மொத்த எண்ணிக்கையைக் குறிக்கிறது.
str_Serial_Num
இந்த போர்டு கார்டின் வரிசை எண்.
str_hw_Type
"USBCAN V1.00" போன்ற வன்பொருள் வகை (குறிப்பு: சரம் டெர்மினேட்டர் '\0' அடங்கும்).
ஒதுக்கப்பட்டது
அமைப்பு ஒதுக்கப்பட்டுள்ளது.
2.1.3. VCI_CAN_OBJ
VCI_Transmit மற்றும் VCI_Receive செயல்பாடுகளில், CAN செய்தி சட்டத்தை அனுப்ப VCI_CAN_OBJ அமைப்பு பயன்படுத்தப்படுகிறது.
உறுப்பினர்:
ID
செய்தி அடையாளங்காட்டி. நேரடி ஐடி வடிவம், வலது-சீரமைக்கப்பட்டது, தயவுசெய்து பார்க்கவும்: இணைப்பு ஒன்று: ஐடி சீரமைப்பு விவரங்கள்.
டைம்ஸ்ட்amp
செயின்ட் பெறுதல்amp காலக்கெடுவின் தகவல், CAN கட்டுப்படுத்தி துவக்கப்படும் போது நேரத்தைத் தொடங்கவும், அலகு 0. 1ms ஆகும்.
காலக்கொடி
நேரத்தைப் பயன்படுத்த வேண்டுமா என்ற அடிப்படையில்amp, 1 பயனுள்ள TimeStamp. TimeFlag மற்றும் TimeStamp சட்டத்தைப் பெறும்போது மட்டுமே அர்த்தமுள்ளதாக இருக்கும்.
அனுப்பு வகை
அனுப்பும் வகை. = 0 என்பது இயல்பான வகையைக் குறிக்கிறது, = 1 ஒற்றை அனுப்புதலைக் குறிக்கிறது.
தொலை கொடி
அது தொலை கொடியாக இருந்தாலும் சரி. = 1 தொலைநிலைக் கொடியைக் குறிக்கிறது, = 0 தரவுக் கொடியைக் குறிக்கிறது.
வெளிப்புறக் கொடி
அது வெளிப்புறக் கொடியாக இருந்தாலும் சரி. = 1 என்பது வெளிப்புறக் கொடியைக் குறிக்கிறது, = 0 என்பது நிலையான கொடியைக் குறிக்கிறது.
டேட்டாலென்
தரவு நீளம்(<=8) ,அதாவது, தரவின் நீளம்.
தரவு
பாக்கெட் தரவு.
ஒதுக்கப்பட்டது
அமைப்பு ஒதுக்கப்பட்டுள்ளது.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG அமைப்பு CAN இன் துவக்க உள்ளமைவை வரையறுக்கிறது. கட்டமைப்பு VCI_InitCan செயல்பாட்டில் நிரப்பப்படும்.
உறுப்பினர்:
அக்கோட்
வடிகட்டப்பட்ட ஏற்றுக்கொள்ளும் குறியீட்டைப் பெறவும்.
அக்மாஸ்க்
வடிகட்டி முகமூடியைப் பெறுங்கள்.
ஒதுக்கப்பட்டது
ஒதுக்கப்பட்டது.
வடிகட்டி
வடிகட்டுதல் முறை, 0-3 வரம்பை அமைக்க அனுமதிக்கிறது, விவரங்களுக்கு வடிகட்டி பயன்முறை அட்டவணையின் பிரிவு 2.2.3 ஐப் பார்க்கவும்.
நேரம்0
SJA1000 Baud விகிதம் அளவுரு, டைமிங்0 (BTR0) .
நேரம்1
SJA1000 Baud விகிதம் அளவுரு, டைமிங்1 (BTR1) .
பயன்முறை
இயக்க முறை, 0 = இயல்பான செயல்பாடு, 1 = கேட்க மட்டுமே பயன்முறை, 2 = தன்னிச்சையான சேர்க்கை மற்றும் அனுப்பும் சோதனை முறை.
குறிப்புகள்:
வடிகட்டி அமைப்புகளைப் பற்றி தயவுசெய்து பார்க்கவும்: இணைப்பு II: CANparameter அமைவு வழிமுறைகள்.
பாட் வீதத்தை அமைக்க CAN டைமிங்0 மற்றும் டைமிங்1 பயன்படுத்தப்படுகின்றன, இந்த இரண்டு அளவுருக்கள் துவக்கத்தில் மட்டுமே பயன்படுத்தப்படும் stage.
வழக்கமான 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 |
- Baud வீத அளவுருவை அமைக்க பயனர்கள் SJA1000 (16MHz) ஐ மட்டுமே பின்பற்ற வேண்டும்.
- அடாப்டர் தற்காலிகமாக 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 சாதனம் இல்லை என்பதைக் குறிக்கிறது.
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 சாதனம் இல்லை என்பதைக் குறிக்கிறது.
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 | எந்த பாக்கெட்டுகளை ஏற்கலாம் என்பதை தீர்மானிக்க, AcCode மற்றும் AccMask இணைந்து செயல்படலாம். இந்த இரண்டு பதிவேடுகளும் ஐடியை இடப்புறம் சீரமைக்கப் பயன்படுத்தப்படுகின்றன, அதாவது, AcCode இன் மிக உயர்ந்த பிட் (Bit31) மற்றும் AccMask ஐடி மதிப்பின் மிக உயர்ந்த பிட்டுடன் சீரமைக்கப்படும். |
pInitConfig->AccMask | ஐடி சீரமைப்பு பற்றி இணைப்புகளைப் பார்க்கவும்: இணைப்பு I: ஐடி சீரமைப்பு விவரங்கள். எ.கா: AcCode இன் மதிப்பை 0x24600000 என அமைத்தால் (அதாவது 0x123 இடது பக்கம் 21 பிட்களால் மாற்றப்படும்), AcMask மதிப்பு 0x00000000 என அமைக்கப்பட்டது, பின்னர் CAN மெசேஜ் பிரேம் ஐடி 0x123 கொண்ட பாக்கெட்டுகள் மட்டுமே ஏற்றுக்கொள்ளப்படும் (AccMask மதிப்பு 0x00000000 அனைத்து பிட்களும் பொருத்தமானவை என்பதைக் குறிக்கிறது |
பிட்கள்). AcCode மதிப்பு 0x24600000 என அமைக்கப்பட்டால், AccMask மதிப்பு 0x600000 ஆக அமைக்கப்பட்டால் (0x03 இடதுபுறம் 21 பிட்கள் மூலம் மாற்றப்படும்), பின்னர் CAN செய்தி பிரேம் ஐடி 0x120 ~ 0x123 உள்ள பாக்கெட்டுகள் மட்டுமே ஏற்றுக்கொள்ளப்படும் (AccMask மதிப்பு 0x600000 என்பது பிட்0 ~ பிட்1 தவிர மற்ற பிட்கள் (பிட்2 ~ பிட்10) தொடர்புடைய பிட் ஆகும்). குறிப்பு: இந்த வடிகட்டி அமைப்பு முன்னாள்ampலெஸ் ஸ்டாண்டர்ட் ஃப்ரேம், எ.காample, உயர் 11-பிட் என்பது செல்லுபடியாகும் பிட்; நீட்டிக்கப்பட்ட சட்டத்தின் விஷயத்தில், சரியான ஐடி 29-பிட் ஆகும். AcCode மற்றும் AccMask ஆகியவை செல்லுபடியாகும் பிட்டாக உயர் 29-பிட்டை அமைக்கின்றன! |
|
pInitConfig-> ஒதுக்கீடு | ஒதுக்கப்பட்ட |
pInitConfig-> வடிகட்டி | வடிகட்டுதல் பயன்முறை அமைப்புகள் வடிகட்டி பயன்முறை அட்டவணையின் பகுதியைப் பார்க்கவும். |
pInitConfig->Timing0 | Baud rateT0 அமைப்பு |
pInitConfig->Timing1 | Baud rateT1 அமைப்பு |
pInitConfig-> பயன்முறை | இயக்க முறைமை: 0-சாதாரண செயல்பாடு 1-கேட்க-மட்டும் பயன்முறை 2-தன்னிச்சையான சேர்க்கை மற்றும் அனுப்பும் சோதனை முறை (இந்த மதிப்பு ZLG செயல்பாட்டு நூலகத்திலிருந்து விலக்கப்பட்டுள்ளது) |
வடிகட்டி பயன்முறை அட்டவணை:
மதிப்பு | பெயர் | விளக்கம் |
1 | அனைத்து வகைகளையும் பெறுங்கள் | நிலையான மற்றும் நீட்டிக்கப்பட்ட சட்டத்திற்கு ஏற்றது! |
2 | நிலையான சட்டத்தை மட்டுமே பெறவும் | நிலையான சட்டத்திற்கு ஏற்றது மற்றும் நீட்டிக்கப்பட்டது |
சட்டகம் நேரடியாக வடிகட்டுவதன் மூலம் அகற்றப்படும்! | ||
3 | நீட்டிக்கப்பட்ட சட்டத்தை மட்டும் பெறவும் | நீட்டிக்கப்பட்ட சட்டத்திற்கு ஏற்றது, மேலும் நிலையான சட்டகம் அகற்றப்படும் நேரடியாக வடிகட்டுதல்! . |
வருமானம்:
திரும்ப மதிப்பு = 1, அதாவது செயல்பாடு வெற்றிகரமாக உள்ளது; = 0 என்பது செயல்பாடு தோல்வியடைந்ததைக் குறிக்கிறது; = -1 சாதனம் இல்லை என்பதைக் குறிக்கிறது.
எ.கா
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 சாதனம் இல்லை என்பதைக் குறிக்கிறது.
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 சாதனம் இல்லை என்பதைக் குறிக்கிறது.
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 சாதனம் இல்லை என்பதைக் குறிக்கிறது.
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 சாதனம் இல்லை என்பதைக் குறிக்கிறது.
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 சாதனப் பிழையைக் குறிக்கிறது.
எ.கா
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 சாதனப் பிழைகளைக் குறிக்கிறது.
எ.கா
பகுதி மூன்று மற்ற செயல்பாடுகள் மற்றும் தரவு கட்டமைப்பு விளக்கம்
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 சாதனம் இல்லை என்பதைக் குறிக்கிறது.
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 அடாப்டரின் எண்ணைத் திருப்பி அனுப்பவும்.
பகுதி நான்கு இடைமுக நூலகச் செயல்பாடுகளைப் பயன்படுத்தி செயல்முறை
சாதன செயல்பாட்டைப் பெருக்க, நாங்கள் கூடுதல் செயல்பாடுகளை வழங்கினோம் (பச்சை பின்னணியுடன் வழங்கப்படும் செயல்பாடுகள்), இந்த செயல்பாடுகளில் பின்வருவன அடங்கும்: VCI_FindUsbDevice2 VCI_UsbDeviceReset. இரண்டாவது வளர்ச்சியின் போது, இந்த செயல்பாடுகளை செயல்படுத்த வேண்டிய அவசியமில்லை. இந்த செயல்பாடுகள் கூட புறக்கணிக்கப்படுகின்றன, அனைத்து USB-CAN அடாப்டர் செயல்பாடுகளையும் அடைய முடியும்.
www.waveshare.com
www.waveshare.com/wiki
ஆவணங்கள் / ஆதாரங்கள்
![]() |
WAVESHARE USB-CAN பஸ் இன்டர் ஃபேஸ் அடாப்டர் இன்டர்ஃபேஸ் ஃபங்ஷன் லைப்ரரி [pdf] வழிமுறை கையேடு USB-CAN பஸ் இன்டர் ஃபேஸ் அடாப்டர் இன்டர்ஃபேஸ் ஃபங்ஷன் லைப்ரரி, யுஎஸ்பி-சிஏஎன், பஸ் இன்டர் ஃபேஸ் அடாப்டர் இன்டர்ஃபேஸ் ஃபங்ஷன் லைப்ரரி, இன்டர்ஃபேஸ் ஃபங்ஷன் லைப்ரரி, ஃபங்ஷன் லைப்ரரி |