WAVESHARE लोगोUSB-CAN बस इंटरफेस
अडॅप्टर इंटरफेस फंक्शन
लायब्ररी वापरकर्ता सूचनाWAVESHARE USB CAN बस इंटर फेस अडॅप्टर इंटरफेस फंक्शन लायब्ररी

भाग एक ओव्हरVIEW

जर वापरकर्त्याने CAN बस संप्रेषण चाचणीसाठी फक्त USB-CAN बस इंटरफेस अॅडॉप्टरचा वापर केला आणि नंतर तो चाचणीचा डेटा पाठवण्यासाठी आणि प्राप्त करण्यासाठी पुरवलेले USB-CAN टूल सॉफ्टवेअर थेट वापरू शकतो.
जर वापरकर्ता त्याच्या स्वतःच्या उत्पादनांसाठी सॉफ्टवेअर प्रोग्राम लिहू इच्छित असेल. कृपया खालील सूचना काळजीपूर्वक वाचा आणि s चा संदर्भ घ्याample कोड आम्ही प्रदान करतो:
⑴ C++ बिल्डर ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹डेल्फी ⑺लॅबVIEW ⑻ 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

भाग दोन सुसंगत फंक्शन लायब्ररी आणि डेटा स्ट्रक्चर

२.१. प्रकार व्याख्या
२.१.१. डिव्हाइस प्रकार

प्रकार व्याख्या प्रकार मूल्य वर्णन
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

२.१.२. VCI_BOARD_INFO
VCI_BOARD_INFO संरचनेत USB-CAN मालिका इंटरफेस कार्ड डिव्हाइस माहिती आहे.
रचना VCI_ReadBoardInfo फंक्शनमध्ये भरली जाईल.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 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' समाविष्ट करते).
राखीव
प्रणाली राखीव.
२.१.३. VCI_CAN_OBJ
VCI_Transmit आणि VCI_Receive फंक्शन्समध्ये, VCI_CAN_OBJ रचना CAN संदेश फ्रेम प्रसारित करण्यासाठी वापरली जाते.

WAVESHARE USB CAN बस इंटर फेस अडॅप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर

सदस्य:
ID
संदेश ओळखकर्ता. डायरेक्ट आयडी फॉरमॅट, उजवीकडे संरेखित, कृपया पहा: अॅनेक्स वन: आयडी संरेखन तपशील.
टाइमस्टamp
सेंट प्राप्तamp वेळेच्या फ्रेमची माहिती, CAN कंट्रोलर सुरू झाल्यावर वेळ सुरू करा, युनिट 0. 1ms आहे.
टाइमफ्लॅग
वेळ वापरायची की नाही या दृष्टीने यष्टीचीतamp, 1 प्रभावी TimeSt आहेamp. TimeFlag आणि TimeStamp जेव्हा फ्रेम प्राप्त होते तेव्हाच अर्थपूर्ण असतात.
SendType
पाठवण्याचा प्रकार. = 0 सामान्य प्रकार दर्शवतो, = 1 सिंगल सेंड दर्शवतो.
रिमोट फ्लॅग
मग तो दूरचा झेंडा असो. = 1 रिमोट ध्वज दर्शवतो, = 0 डेटा ध्वज दर्शवतो.
बाह्य ध्वज
मग तो बाह्य ध्वज असो. = 1 बाह्य ध्वज दर्शवतो, = 0 मानक ध्वज दर्शवतो.
डेटालेन
डेटा लांबी(<=8) ,म्हणजे डेटाची लांबी.
डेटा
पॅकेट डेटा.
राखीव
प्रणाली राखीव.
२.१.४. VCI_INIT_CONFIG
VCI_INIT_CONFIG रचना CAN चे आरंभीकरण कॉन्फिगरेशन परिभाषित करते. रचना VCI_InitCan फंक्शनमध्ये भरली जाईल.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 2

सदस्य:
AccCode
फिल्टर केलेला स्वीकृती कोड प्राप्त करा.
AccMask
फिल्टर मास्क प्राप्त करा.
राखीव
राखीव.
फिल्टर करा
फिल्टरिंग पद्धत, सेटिंग श्रेणी 0-3 ला अनुमती देते, तपशीलांसाठी फिल्टर मोड सारणीचा विभाग 2.2.3 पहा.
वेळ0
SJA1000 Baud दर पॅरामीटर, टाइमिंग0 (BTR0) .
वेळ1
SJA1000 Baud दर पॅरामीटर, टाइमिंग1 (BTR1) .
मोड
ऑपरेटिंग मोड, 0 = सामान्य ऑपरेशन, 1 = फक्त ऐकण्यासाठी मोड, 2 = उत्स्फूर्त प्रवेश आणि पाठवणे चाचणी मोड.
टिप्पणी:
फिल्टर सेटिंग्जबद्दल कृपया पहा: परिशिष्ट II: कॅन पॅरामीटर सेटअप सूचना.
CAN Timing0 आणि Timing1 चा वापर बॉड रेट सेट करण्यासाठी केला जातो, हे दोन पॅरामीटर्स फक्त इनिशिएलायझेशनच्या वेळी वापरले जातातtage.
पारंपारिक बॉड संदर्भ सारणी:

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. बॉड रेट पॅरामीटर सेट करण्यासाठी वापरकर्त्यांना फक्त SJA1000 (16MHz) फॉलो करणे आवश्यक आहे.
  2. अडॅप्टर 10K पेक्षा कमी तात्पुरते बॉड दराला समर्थन देत नाही.

2.2. कार्याचे वर्णन
२.२.१. VCI_OpenDevice
हे फंक्शन डिव्हाइस कनेक्ट करण्यासाठी वापरले जाते.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD आरक्षित);
पॅरामीटर्स:
DevType
डिव्हाइस प्रकार. पहा: अडॅप्टर डिव्हाइस प्रकार व्याख्या.
DevIndex
डिव्हाइस इंडेक्स, उदाample, जेव्हा फक्त एक USB-CAN अडॅप्टर असतो, तेव्हा निर्देशांक क्रमांक 0 असतो, जेव्हा एकाधिक USB-CAN अडॅप्टर असतात, तेव्हा अनुक्रमणिका क्रमांक 0 पासून सुरू होणाऱ्या चढत्या क्रमाने असतात.
राखीव
धारणा मापदंड, 0 भरा.
परतावा:
रिटर्न व्हॅल्यू = 1, याचा अर्थ ऑपरेशन यशस्वी झाले आहे; = 0 सूचित करते की ऑपरेशन अयशस्वी झाले; = -1 सूचित करते की डिव्हाइस अस्तित्वात नाही.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अडॅप्टर इंटरफेस फंक्शन लायब्ररी - चित्र3

२.२.२. VCI_CloseDevice
हे फंक्शन कनेक्शन बंद करण्यासाठी वापरले जाते.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
पॅरामीटर्स:
DevType
डिव्हाइस प्रकार. पहा: अडॅप्टर डिव्हाइस प्रकार व्याख्या.
DevIndex
डिव्हाइस इंडेक्स, उदाample, जेव्हा फक्त एक USB-CAN अडॅप्टर असतो, तेव्हा निर्देशांक क्रमांक 0 असतो, जेव्हा एकाधिक USB-CAN अडॅप्टर असतात, तेव्हा अनुक्रमणिका क्रमांक 0 पासून सुरू होणाऱ्या चढत्या क्रमाने असतात.
परतावा:
रिटर्न व्हॅल्यू = 1, याचा अर्थ ऑपरेशन यशस्वी झाले आहे; = 0 सूचित करते की ऑपरेशन अयशस्वी झाले; = -1 सूचित करते की डिव्हाइस अस्तित्वात नाही.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 4

२.२.३. VCI_InitCan
हे फंक्शन निर्दिष्ट CAN सुरू करण्यासाठी वापरले जाते.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIindex,
PVCI_INIT_CONFIG pInitConfig);

पॅरामीटर्स:
DevType
डिव्हाइस प्रकार. पहा: अडॅप्टर डिव्हाइस प्रकार व्याख्या.
DevIndex
डिव्हाइस इंडेक्स, उदाample, जेव्हा फक्त एक USB-CAN अडॅप्टर असतो, तेव्हा निर्देशांक क्रमांक 0 असतो, जेव्हा एकाधिक USB-CAN अडॅप्टर असतात, तेव्हा अनुक्रमणिका क्रमांक 0 पासून सुरू होणाऱ्या चढत्या क्रमाने असतात.
कॅनइंडेक्स
CAN चॅनल इंडेक्स, जसे की जेव्हा फक्त एक CAN चॅनल असते तेव्हा इंडेक्स नंबर 0 असतो, जर दोन असतील तर, इंडेक्स नंबर 0 किंवा 1 असू शकतो.
pInitConfig
इनिशियलायझेशन पॅरामीटर संरचना. सदस्यांची पॅरामीटर यादी:

सदस्य कार्यात्मक वर्णन
pInitConfig->AccCode कोणते पॅकेट स्वीकारले जाऊ शकतात हे निर्धारित करण्यासाठी AccCode आणि AccMask एकत्र काम करू शकतात. या दोन रजिस्टर्सचा वापर आयडी डावीकडे संरेखित करण्यासाठी केला जातो, म्हणजेच, AccCode आणि AccMask चा सर्वात जास्त बिट (Bit31) ID मूल्याच्या सर्वोच्च बिटसह संरेखित केला जातो.
pInitConfig->AccMask आयडी संरेखन संदर्भातील परिशिष्टांबद्दल: परिशिष्ट I:
आयडी संरेखन तपशील.
उदा: जर तुम्ही AccCode चे मूल्य 0x24600000 असे सेट केले असेल (म्हणजे 0x123 21 बिट्सने डावीकडे शिफ्ट केले असेल), AccMask मूल्य
0x00000000 वर सेट केले आहे, आणि नंतर फक्त CAN संदेश फ्रेम आयडी 0x123 असलेले पॅकेट स्वीकारले जाऊ शकतात (0x00000000 चे AccMask मूल्य सूचित करते की सर्व बिट्स संबंधित आहेत
बिट्स). AccCode मूल्य 0x24600000 वर सेट केले असल्यास, AccMask मूल्य 0x600000 वर सेट केले आहे (0x03 डावीकडे 21 बिट्सने शिफ्ट केले आहे), आणि नंतर फक्त CAN संदेश फ्रेम आयडी 0x120 ~ 0x123 असलेली पॅकेट स्वीकारली जाऊ शकतात (AccMask मूल्य
0x600000 सूचित करते की bit0 ~ bit1 व्यतिरिक्त इतर बिट (bit2 ~ bit10) संबंधित बिट आहेत).
टीप: हे फिल्टर सेटिंग माजीamples to the मानक फ्रेम, उदाample, उच्च 11-बिट वैध बिट आहे; विस्तारित फ्रेमच्या बाबतीत, आणि नंतर वैध आयडी 29-बिट आहे. AccCode आणि AccMask वैध बिट म्हणून उच्च 29-बिट सेट करतात!
pInitConfig->आरक्षित राखीव
pInitConfig->फिल्टर फिल्टरिंग मोड सेटिंग्ज कृपया फिल्टर मोड सारणीच्या विभागाचा संदर्भ घ्या.
pInitConfig->Timing0 Baud rateT0 सेटिंग
pInitConfig->Timing1 Baud rateT1 सेटिंग
pInitConfig->मोड ऑपरेटिंग मोड:
0-सामान्य ऑपरेशन
1-केवळ-ऐका मोड
2-उत्स्फूर्त प्रवेश आणि पाठवणे चाचणी मोड (हे मूल्य ZLG फंक्शन लायब्ररीमधून वगळले आहे)

फिल्टर मोड सारणी:

मूल्य नाव वर्णन
1 सर्व प्रकार प्राप्त करा मानक आणि विस्तारित फ्रेम दोन्हीसाठी योग्य!
2 फक्त मानक फ्रेम प्राप्त करा मानक फ्रेमसाठी योग्य, आणि विस्तारित
फ्रेम थेट गाळण्याद्वारे काढली जाईल!
3 फक्त विस्तारित फ्रेम प्राप्त करा विस्तारित फ्रेमसाठी योग्य, आणि मानक फ्रेम द्वारे काढली जाईल
थेट गाळणे! .

परतावा:
रिटर्न व्हॅल्यू = 1, याचा अर्थ ऑपरेशन यशस्वी झाले आहे; = 0 सूचित करते की ऑपरेशन अयशस्वी झाले; = -1 सूचित करते की डिव्हाइस अस्तित्वात नाही.
उदा

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 4

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 6

२.२.४. 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 सूचित करते की डिव्हाइस अस्तित्वात नाही.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 7

२.२.५. VCI_GetReceiveNum
हे कार्य प्राप्त निर्दिष्ट करण्यासाठी वापरले जाते परंतु नियुक्त प्राप्त बफरमध्ये फ्रेम वाचले गेले नाही.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIindex);
पॅरामीटर्स:
DevType
डिव्हाइस प्रकार. पहा: अडॅप्टर डिव्हाइस प्रकार व्याख्या.
DevIndex
डिव्हाइस इंडेक्स, उदाample, जेव्हा फक्त एक USB-CAN अडॅप्टर असतो, तेव्हा निर्देशांक क्रमांक 0 असतो, जेव्हा एकाधिक USB-CAN अडॅप्टर असतात, तेव्हा अनुक्रमणिका क्रमांक 0 पासून सुरू होणाऱ्या चढत्या क्रमाने असतात.
कॅनइंडेक्स
CAN चॅनेल निर्देशांक.
परतावा:
अद्याप वाचलेल्या नसलेल्या फ्रेम्स परत करा.
उदा
# "ControlCan.h" int ret=VCI_GetReceiveNum(2,0,0) समाविष्ट करा;
२.२.६. VCI_ClearBuffer
द्वारे निर्दिष्ट केलेल्या नियुक्त चॅनेलचे प्राप्त आणि पाठवण्याचे बफर साफ करण्यासाठी हे कार्य वापरले जाते
USB-CAN अडॅप्टर.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIindex);
पॅरामीटर्स:
DevType
डिव्हाइस प्रकार. पहा: अडॅप्टर डिव्हाइस प्रकार व्याख्या.
DevIndex
डिव्हाइस इंडेक्स, उदाample, जेव्हा फक्त एक USB-CAN अडॅप्टर असतो, तेव्हा निर्देशांक क्रमांक 0 असतो, जेव्हा एकाधिक USB-CAN अडॅप्टर असतात, तेव्हा अनुक्रमणिका क्रमांक 0 पासून सुरू होणाऱ्या चढत्या क्रमाने असतात.
कॅनइंडेक्स
CAN चॅनेल निर्देशांक.
परतावा:
रिटर्न व्हॅल्यू = 1, याचा अर्थ ऑपरेशन यशस्वी झाले आहे; = 0 सूचित करते की ऑपरेशन अयशस्वी झाले; = -1 सूचित करते की डिव्हाइस अस्तित्वात नाही.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 8

२.२.७. VCI_StartCAN
हे फंक्शन CAN कंट्रोलर सुरू करण्यासाठी आणि अडॅप्टरचे अंतर्गत व्यत्यय रिसेप्शन फंक्शन सुरू करण्यासाठी वापरले जाते.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIindex);
पॅरामीटर्स:
DevType
डिव्हाइस प्रकार. पहा: अडॅप्टर डिव्हाइस प्रकार व्याख्या.
DevIndex
डिव्हाइस इंडेक्स, उदाample, जेव्हा फक्त एक USB-CAN अडॅप्टर असतो, तेव्हा निर्देशांक क्रमांक 0 असतो, जेव्हा एकाधिक USB-CAN अडॅप्टर असतात, तेव्हा अनुक्रमणिका क्रमांक 0 पासून सुरू होणाऱ्या चढत्या क्रमाने असतात.
कॅनइंडेक्स
CAN चॅनेल निर्देशांक.
परतावा:
रिटर्न व्हॅल्यू = 1, याचा अर्थ ऑपरेशन यशस्वी झाले आहे; = 0 सूचित करते की ऑपरेशन अयशस्वी झाले; = -1 सूचित करते की डिव्हाइस अस्तित्वात नाही.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 9

२.२.८. VCI_ResetCAN
हे फंक्शन CAN कंट्रोलर रीसेट करण्यासाठी वापरले जाते.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIindex);
पॅरामीटर्स:
DevType
डिव्हाइस प्रकार. पहा: अडॅप्टर डिव्हाइस प्रकार व्याख्या.
DevIndex
डिव्हाइस इंडेक्स, उदाample, जेव्हा फक्त एक USB-CAN अडॅप्टर असतो, तेव्हा निर्देशांक क्रमांक 0 असतो, जेव्हा एकाधिक USB-CAN अडॅप्टर असतात, तेव्हा अनुक्रमणिका क्रमांक 0 पासून सुरू होणाऱ्या चढत्या क्रमाने असतात.
कॅनइंडेक्स
CAN चॅनेल निर्देशांक.
परतावा:
रिटर्न व्हॅल्यू = 1, याचा अर्थ ऑपरेशन यशस्वी झाले आहे; = 0 सूचित करते की ऑपरेशन अयशस्वी झाले; = -1 सूचित करते की डिव्हाइस अस्तित्वात नाही.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 10

२.२.९. 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 पासून सुरू होणाऱ्या चढत्या क्रमाने असतात.
कॅनइंडेक्स
CAN चॅनेल निर्देशांक. p पाठवा
डेटा फ्रेम अॅरेचा पहिला पत्ता जो पाठवायचा आहे.
लांबी
पाठवल्या जाणार्‍या डेटा फ्रेमची संख्या, कमाल संख्या 1000 आहे, उच्च गती अंतर्गत शिफारस केलेले मूल्य 48 आहे.
परतावा:
आधीच पाठवलेल्या फ्रेम्सची वास्तविक संख्या परत करा, परतावा मूल्य = -1 डिव्हाइस त्रुटी दर्शवते.
उदा
वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 11

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 12

२.२.१०. VCI_प्राप्त
रिसेप्शनची विनंती करण्यासाठी हे कार्य वापरले जाते.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIindex, PVCI_CAN_OBJ preceive, ULONG Len, INT प्रतीक्षा वेळ);
पॅरामीटर्स:
DevType
डिव्हाइस प्रकार. पहा: अडॅप्टर डिव्हाइस प्रकार व्याख्या.
DevIndex
डिव्हाइस इंडेक्स, उदाample, जेव्हा फक्त एक USB-CAN अडॅप्टर असतो, तेव्हा निर्देशांक क्रमांक 0 असतो, जेव्हा एकाधिक USB-CAN अडॅप्टर असतात, तेव्हा अनुक्रमणिका क्रमांक 0 पासून सुरू होणाऱ्या चढत्या क्रमाने असतात.
कॅनइंडेक्स
CAN चॅनेल निर्देशांक.
प्राप्त करणे
डेटा फ्रेमचा पहिला सेट पॉइंटर प्राप्त करण्यासाठी.
लेन
सामान्य संदेश परत करण्यासाठी डेटा फ्रेमची अॅरे लांबी 2500 पेक्षा जास्त असणे आवश्यक आहे.
अन्यथा, संदेश प्राप्त झाला की नाही याची रिटर्न लांबी शून्य असेल. अडॅप्टरने प्रत्येक चॅनेलसाठी 2000-फ्रेम बफर सेट केले. त्याच्या स्वतःच्या सिस्टीम आणि कामाच्या वातावरणावर आधारित, वापरकर्ता 2500 मधून योग्य अॅरे लांबी निवडू शकतो.
प्रतीक्षा वेळ राखीव.
परतावा:
प्रत्यक्षात वाचलेल्या फ्रेमची संख्या परत करा, -1 डिव्हाइस त्रुटी दर्शवते.
उदा
वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 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 सूचित करते की डिव्हाइस अस्तित्वात नाही.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 14

bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
३.१.२. VCI_FindUsbDevice3.1.2
जेव्हा समान पीसी एकाधिक USB-CAN वापरत असेल, तेव्हा वापरकर्ता वर्तमान डिव्हाइस शोधण्यासाठी हे कार्य वापरू शकतो.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
पॅरामीटर्स:
p माहिती
pInfo चा वापर पहिल्या डेटा बफर अॅड्रेस पॉइंटरचे पॅरामीटर्स साठवण्यासाठी केला जातो.
परतावा
संगणकात प्लग केलेल्या USB-CAN अडॅप्टरची संख्या परत करा.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 15

प्रक्रिया वापरून भाग चार इंटरफेस लायब्ररी कार्ये
डिव्‍हाइस फंक्‍शन गुणाकार करण्‍यासाठी, आम्‍ही अतिरिक्त फंक्‍शन्‍स (हिरव्या पार्श्‍वभूमीसह सादर केलेले फंक्‍शन) दिले आहेत, या फंक्‍शनमध्‍ये हे समाविष्ट आहे: VCI_FindUsbDevice2 VCI_UsbDeviceReset. दुस-या विकासादरम्यान, ही फंक्शन्स आवश्यक नाही. या फंक्शन्सकडेही दुर्लक्ष केले जाते, सर्व USB-CAN अडॅप्टर फंक्शन्स साध्य करता येतात.

वेव्हशेअर यूएसबी कॅन बस इंटर फेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी - अंजीर 16

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

कागदपत्रे / संसाधने

WAVESHARE USB-CAN बस इंटर फेस अडॅप्टर इंटरफेस फंक्शन लायब्ररी [pdf] सूचना पुस्तिका
USB-CAN बस इंटरफेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी, USB-CAN, बस इंटरफेस अॅडॉप्टर इंटरफेस फंक्शन लायब्ररी, इंटरफेस फंक्शन लायब्ररी, फंक्शन लायब्ररी

संदर्भ

एक टिप्पणी द्या

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित आहेत *