USB-CAN बस इंटरफ़ेस
एडाप्टर इंटरफ़ेस फ़ंक्शन
लाइब्रेरी उपयोगकर्ता निर्देश
भाग एक समाप्तVIEW
यदि उपयोगकर्ता CAN बस संचार परीक्षण के लिए USB-CAN बस इंटरफ़ेस एडाप्टर का उपयोग करता है, तो वह परीक्षण के डेटा को भेजने और प्राप्त करने के लिए सीधे आपूर्ति किए गए USB-CAN टूल सॉफ़्टवेयर का उपयोग कर सकता है।
यदि उपयोगकर्ता अपने उत्पादों के लिए सॉफ्टवेयर प्रोग्राम लिखना चाहता है। कृपया निम्नलिखित निर्देशों को ध्यान से पढ़ें और निर्देशों से संदर्भ लें।ampहम जो कोड प्रदान करते हैं:
⑴ सी++बिल्डर ⑵सी# ⑶वीसी ⑷वीबी ⑸वीबी.नेट ⑹डेल्फी ⑺लैबVIEW ⑻ लैबविंडोज़/सीवीआई ⑼मैटलैब ⑽क्यूटी ⑾पायथन/पायथन-कैन.
लाइब्रेरी विकसित करें file :ControlCAN.lib, ControlCAN.DLL
VC संस्करण फ़ंक्शन घोषणा file :कंट्रोलCAN.h
VB संस्करण फ़ंक्शन घोषणा file: कंट्रोलCAN.bas
प्रयोगशालाVIEW संस्करण लाइब्रेरी फ़ंक्शन पैकेज मॉड्यूल: ControlCAN.llb
डेल्फी संस्करण फ़ंक्शन घोषणा file: कंट्रोलCAN.pas
भाग दो संगत फ़ंक्शन लाइब्रेरी और डेटा संरचना
2.1. प्रकार परिभाषा
2.1.1। उपकरण का प्रकार
प्रकार परिभाषा | प्रकार मान | विवरण |
DEV_USBCAN2 | 4 | USBCAN-2A/USBCAN-2C/CANalyst-II मिनीPCIe-CAN |
2.1.2.वीसीआई_बोर्ड_सूचना
VCI_BOARD_INFO संरचना में USB-CAN श्रृंखला इंटरफ़ेस कार्ड डिवाइस जानकारी शामिल है।
संरचना VCI_ReadBoardInfo फ़ंक्शन में भरी जाएगी।
सदस्य:
hw_संस्करण
हार्डवेयर संस्करण संख्या, हेक्साडेसिमल संकेतन। उदाहरणार्थ 0x0100, V1.00 को दर्शाता है।
fw_संस्करण
हार्डवेयर संस्करण संख्या, हेक्साडेसिमल संकेतन। उदाहरणार्थ 0x0100, V1.00 को दर्शाता है।
पेज 2
dr_संस्करण
ड्राइवर संस्करण संख्या, हेक्साडेसिमल संकेतन। उदाहरणार्थ 0x0100, V1.00 को दर्शाता है।
in_संस्करण
इंटरफ़ेस लाइब्रेरी संस्करण संख्या, हेक्साडेसिमल संकेतन। उदाहरण के लिए 0x0100 V1.00 को दर्शाता है।
irq_संख्या
सिस्टम आरक्षित.
can_संख्या
CAN चैनल की कुल संख्या को दर्शाता है।
str_सीरियल_संख्या
यह बोर्ड कार्ड का सीरियल नंबर है।
str_hw_प्रकार
हार्डवेयर प्रकार, जैसे कि “USBCAN V1.00” (नोट: स्ट्रिंग टर्मिनेटर '\0' शामिल है).
सुरक्षित
सिस्टम आरक्षित.
2.1.3.वीसीआई_CAN_OBJ
VCI_Transmit और VCI_Receive फ़ंक्शन में, VCI_CAN_OBJ संरचना का उपयोग CAN संदेश फ़्रेम को संचारित करने के लिए किया जाता है।
सदस्य:
ID
संदेश पहचानकर्ता। प्रत्यक्ष आईडी प्रारूप, दाएं-संरेखित, कृपया देखें: अनुलग्नक एक: आईडी संरेखण विवरण।
टाइमस्टamp
सेंट प्राप्त करनाamp समय सीमा की जानकारी, प्रारंभ समय जब CAN नियंत्रक आरंभीकृत होता है, इकाई 0. 1ms है।
टाइमफ्लैग
इस बात के संदर्भ में कि क्या समय का उपयोग करना हैamp, 1 प्रभावी TimeSt हैamp. टाइमफ्लैग और टाइमस्टamp केवल तभी सार्थक होते हैं जब फ्रेम प्राप्त होता है.
भेजेंप्रकार
भेजने का प्रकार. = 0 सामान्य प्रकार को इंगित करता है, = 1 एकल भेजने को इंगित करता है.
रिमोटफ्लैग
चाहे वह रिमोट फ्लैग हो। = 1 रिमोट फ्लैग को इंगित करता है, = 0 डेटा फ्लैग को इंगित करता है।
एक्सटर्नफ्लैग
चाहे वह बाह्य ध्वज हो। = 1 बाह्य ध्वज को इंगित करता है, = 0 मानक ध्वज को इंगित करता है।
डेटालेन
डेटा लंबाई (<=8) ,यानी, डेटा की लंबाई।
डेटा
पैकेट डेटा.
सुरक्षित
सिस्टम आरक्षित.
2.1.4.VCI_INIT_CONFIG
VCI_INIT_CONFIG संरचना CAN के आरंभीकरण कॉन्फ़िगरेशन को परिभाषित करती है। संरचना VCI_InitCan फ़ंक्शन में भरी जाएगी।
सदस्य:
Accकोड
फ़िल्टर किया गया स्वीकृति कोड प्राप्त करें.
एसीसीमास्क
फ़िल्टर मास्क प्राप्त करें.
सुरक्षित
आरक्षित.
फ़िल्टर
फ़िल्टरिंग विधि, सेटिंग रेंज 0-3 की अनुमति देती है, विवरण के लिए फ़िल्टर मोड तालिका के अनुभाग 2.2.3 को देखें।
समय0
SJA1000 बॉड दर पैरामीटर, टाइमिंग0 (BTR0)।
समय1
SJA1000 बॉड दर पैरामीटर, टाइमिंग1 (BTR1)।
तरीका
ऑपरेटिंग मोड, 0 = सामान्य ऑपरेशन, 1 = केवल सुनने का मोड, 2 = स्वतः प्रवेश और भेजने का परीक्षण मोड।
टिप्पणी:
फ़िल्टर सेटिंग्स के बारे में कृपया देखें: अनुलग्नक II: CANपैरामीटर सेटअप निर्देश।
CAN Timing0 और Timing1 का उपयोग बॉड दर निर्धारित करने के लिए किया जाता है, इन दो मापदंडों का उपयोग केवल आरंभीकरण के समय किया जाता हैtage.
पारंपरिक बॉड संदर्भ तालिका:
CAN बॉड दर | समय0(BTR0) | समय1(BTR1) |
10k बीपीएस | 0x31 | 0x1C |
20k बीपीएस | 0x18 | 0x1C |
40k बीपीएस | 0x87 | 0xएफएफ |
50k बीपीएस | 0x09 | 0x1C |
80k बीपीएस | 0x83 | 0xएफएफ |
100k बीपीएस | 0x04 | 0x1C |
125k बीपीएस | 0x03 | 0x1C |
200k बीपीएस | 0x81 | 0xFA |
250k बीपीएस | 0x01 | 0x1C |
400k बीपीएस | 0x80 | 0xFA |
500k बीपीएस | 0x00 | 0x1C |
666k बीपीएस | 0x80 | 0xB6 |
800k बीपीएस | 0x00 | 0x16 |
1000k बीपीएस | 0x00 | 0x14 |
33.33 केबीपीएस | 0x09 | 0x6एफ |
66.66 केबीपीएस | 0x04 | 0x6एफ |
83.33 केबीपीएस | 0x03 | 0x6एफ |
- उपयोगकर्ताओं को बाउड दर पैरामीटर सेट करने के लिए केवल SJA1000 (16MHz) का पालन करना होगा।
- एडाप्टर अस्थायी रूप से 10K से कम बॉड दर का समर्थन नहीं करता है।
2.2. समारोह विवरण
2.2.1.VCI_ओपनडिवाइस
इस फ़ंक्शन का उपयोग डिवाइसों को जोड़ने के लिए किया जाता है।
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD आरक्षित);
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampउदाहरण के लिए, जब केवल एक USB-CAN एडाप्टर होता है, तो सूचकांक संख्या 0 होती है, जब एकाधिक USB-CAN एडाप्टर होते हैं, तो सूचकांक संख्या 0 से शुरू होकर बढ़ते क्रम में होती है।
सुरक्षित
अवधारण पैरामीटर, 0 भरें.
रिटर्न:
रिटर्न वैल्यू = 1, जिसका अर्थ है कि ऑपरेशन सफल रहा; = 0 इंगित करता है कि ऑपरेशन विफल रहा; = -1 इंगित करता है कि डिवाइस मौजूद नहीं है।
2.2.2.VCI_क्लोजडिवाइस
इस फ़ंक्शन का उपयोग कनेक्शन बंद करने के लिए किया जाता है।
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampउदाहरण के लिए, जब केवल एक 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);
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampउदाहरण के लिए, जब केवल एक USB-CAN एडाप्टर होता है, तो सूचकांक संख्या 0 होती है, जब एकाधिक USB-CAN एडाप्टर होते हैं, तो सूचकांक संख्या 0 से शुरू होकर बढ़ते क्रम में होती है।
CANइंडेक्स
CAN चैनल सूचकांक, जैसे जब केवल एक CAN चैनल होता है, तो सूचकांक संख्या 0 होती है, यदि दो हैं, तो सूचकांक संख्या 0 या 1 हो सकती है।
pInitConfig
आरंभीकरण पैरामीटर संरचना. सदस्यों की पैरामीटर सूची:
सदस्य | कार्यात्मक विवरण |
pInitConfig->AccCode | AccCode और AccMask मिलकर यह निर्धारित कर सकते हैं कि कौन से पैकेट स्वीकार किए जा सकते हैं। इन दो रजिस्टरों का उपयोग ID को बाएं संरेखित करने के लिए किया जाता है, अर्थात AccCode और AccMask का उच्चतम बिट (Bit31) ID मान के उच्चतम बिट के साथ संरेखित होता है। |
pInitConfig->AccMask | आईडी संरेखण के बारे में अनुलग्नक देखें: अनुलग्नक I: आईडी संरेखण विवरण. उदाहरण: यदि आप AccCode का मान 0x24600000 पर सेट करते हैं (अर्थात 0x123 को 21 बिट्स से बाईं ओर स्थानांतरित किया जाता है), तो AccMask मान 0x00000000 पर सेट है, और तब केवल CAN संदेश फ़्रेम ID 0x123 वाले पैकेट स्वीकार किए जा सकते हैं (AccMask मान 0x00000000 इंगित करता है कि सभी बिट्स प्रासंगिक हैं |
यदि AccCode मान 0x24600000 पर सेट है, तो AccMask मान 0x600000 पर सेट है (0x03 को 21 बिट्स द्वारा बाईं ओर स्थानांतरित किया जाता है), और तब केवल CAN संदेश फ़्रेम ID 0x120 ~ 0x123 वाले पैकेट स्वीकार किए जा सकते हैं (AccMask मान 0x600000 इंगित करता है कि बिट0 ~ बिट1 के अलावा अन्य बिट्स (बिट2 ~ बिट10) प्रासंगिक बिट हैं)। टिप्पणी: यह फ़िल्टर सेटिंग पूर्वampमानक फ्रेम के लिए लेस, उदाहरण के लिएampले, उच्च 11-बिट वैध बिट है; विस्तारित फ्रेम के मामले में, और फिर वैध आईडी 29-बिट है। AccCode और AccMask वैध बिट के रूप में उच्च 29-बिट सेट करते हैं! |
|
pInitConfig->आरक्षित | आरक्षित |
pInitConfig->फ़िल्टर | फ़िल्टरिंग मोड सेटिंग्स के लिए कृपया फ़िल्टर मोड तालिका के अनुभाग को देखें। |
pInitConfig->Timing0 | बॉड दरT0 सेटिंग |
pInitConfig->Timing1 | बॉड दरT1 सेटिंग |
pInitConfig->मोड | मोड आपरेटिंग: 0-सामान्य ऑपरेशन 1-केवल सुनने वाला मोड 2-स्वतः प्रवेश और प्रेषण परीक्षण मोड (यह मान ZLG फ़ंक्शन लाइब्रेरी से बाहर रखा गया है) |
फ़िल्टर मोड तालिका:
कीमत | नाम | विवरण |
1 | सभी प्रकार प्राप्त करें | मानक और विस्तारित फ्रेम दोनों के लिए उपयुक्त! |
2 | केवल मानक फ्रेम प्राप्त करें | मानक फ्रेम के लिए उपयुक्त, और विस्तारित |
फ्रेम सीधे निस्पंदन द्वारा हटा दिया जाएगा! | ||
3 | केवल विस्तारित फ़्रेम प्राप्त करें | विस्तारित फ्रेम के लिए उपयुक्त, और मानक फ्रेम द्वारा हटा दिया जाएगा निस्पंदन सीधे! । |
रिटर्न:
रिटर्न वैल्यू = 1, जिसका अर्थ है कि ऑपरेशन सफल रहा; = 0 इंगित करता है कि ऑपरेशन विफल रहा; = -1 इंगित करता है कि डिवाइस मौजूद नहीं है।
उदाहरण के लिए
2.2.4.VCI_रीडबोर्डइंफो
इस फ़ंक्शन का उपयोग एडाप्टर हार्डवेयर जानकारी को पढ़ने के लिए किया जाता है। आम तौर पर, इसे अनदेखा किया जा सकता है।
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampले, जब केवल एक यूएसबी-कैन एडाप्टर होता है, तो सूचकांक संख्या 0 होती है, जब कई यूएसबी-कैन एडाप्टर होते हैं, तो सूचकांक संख्या 0 से शुरू होने वाले आरोही क्रम में होती है।
VCI_BOARD_INFO का उपयोग डिवाइस सूचना संरचना सूचक को संग्रहीत करने के लिए किया जाता है।
रिटर्न:
रिटर्न वैल्यू = 1, जिसका अर्थ है कि ऑपरेशन सफल रहा; = 0 इंगित करता है कि ऑपरेशन विफल रहा; = -1 इंगित करता है कि डिवाइस मौजूद नहीं है।
2.2.5. VCI_GetReceiveNum
इस फ़ंक्शन का उपयोग निर्दिष्ट प्राप्त बफर में प्राप्त लेकिन पढ़े नहीं गए फ़्रेमों को निर्दिष्ट करने के लिए किया जाता है।
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampउदाहरण के लिए, जब केवल एक USB-CAN एडाप्टर होता है, तो सूचकांक संख्या 0 होती है, जब एकाधिक USB-CAN एडाप्टर होते हैं, तो सूचकांक संख्या 0 से शुरू होकर बढ़ते क्रम में होती है।
CANइंडेक्स
CAN चैनल सूचकांक.
रिटर्न:
उन फ़्रेमों को लौटाएँ जिन्हें अभी तक पढ़ा नहीं गया है.
उदाहरण के लिए
#“ControlCan.h” शामिल करें int ret=VCI_GetReceiveNum(2,0,0);
2.2.6.वीसीआई_क्लियरबफर
इस फ़ंक्शन का उपयोग निर्दिष्ट चैनल के प्राप्त और प्रेषण बफर को साफ़ करने के लिए किया जाता है
यूएसबी-कैन एडाप्टर.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampउदाहरण के लिए, जब केवल एक USB-CAN एडाप्टर होता है, तो सूचकांक संख्या 0 होती है, जब एकाधिक USB-CAN एडाप्टर होते हैं, तो सूचकांक संख्या 0 से शुरू होकर बढ़ते क्रम में होती है।
CANइंडेक्स
CAN चैनल सूचकांक.
रिटर्न:
रिटर्न वैल्यू = 1, जिसका अर्थ है कि ऑपरेशन सफल रहा; = 0 इंगित करता है कि ऑपरेशन विफल रहा; = -1 इंगित करता है कि डिवाइस मौजूद नहीं है।
2.2.7.VCI_स्टार्टCAN
इस फ़ंक्शन का उपयोग CAN नियंत्रक और एडाप्टर के आंतरिक इंटरप्ट रिसेप्शन फ़ंक्शन को प्रारंभ करने के लिए किया जाता है।
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampउदाहरण के लिए, जब केवल एक USB-CAN एडाप्टर होता है, तो सूचकांक संख्या 0 होती है, जब एकाधिक USB-CAN एडाप्टर होते हैं, तो सूचकांक संख्या 0 से शुरू होकर बढ़ते क्रम में होती है।
CANइंडेक्स
CAN चैनल सूचकांक.
रिटर्न:
रिटर्न वैल्यू = 1, जिसका अर्थ है कि ऑपरेशन सफल रहा; = 0 इंगित करता है कि ऑपरेशन विफल रहा; = -1 इंगित करता है कि डिवाइस मौजूद नहीं है।
2.2.8.VCI_रीसेटCAN
इस फ़ंक्शन का उपयोग CAN नियंत्रक को रीसेट करने के लिए किया जाता है।
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampउदाहरण के लिए, जब केवल एक USB-CAN एडाप्टर होता है, तो सूचकांक संख्या 0 होती है, जब एकाधिक USB-CAN एडाप्टर होते हैं, तो सूचकांक संख्या 0 से शुरू होकर बढ़ते क्रम में होती है।
CANइंडेक्स
CAN चैनल सूचकांक.
रिटर्न:
रिटर्न वैल्यू = 1, जिसका अर्थ है कि ऑपरेशन सफल रहा; = 0 इंगित करता है कि ऑपरेशन विफल रहा; = -1 इंगित करता है कि डिवाइस मौजूद नहीं है।
2.2.9.वीसीआई_ट्रांसमिट
इस फ़ंक्शन का उपयोग CAN संदेश फ़्रेम भेजने के लिए किया जाता है।
DWORD __stdcall VCI_Transmit(DWORD डिवाइस प्रकार,DWORD डिवाइस इंड,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD लंबाई);
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampउदाहरण के लिए, जब केवल एक USB-CAN एडाप्टर होता है, तो सूचकांक संख्या 0 होती है, जब एकाधिक USB-CAN एडाप्टर होते हैं, तो सूचकांक संख्या 0 से शुरू होकर बढ़ते क्रम में होती है।
CANइंडेक्स
CAN चैनल सूचकांक. pSend
डेटा फ़्रेम सरणियों का पहला पता जिसे भेजा जाना है।
लंबाई
भेजे जाने वाले डेटा फ़्रेमों की अधिकतम संख्या 1000 है, उच्च गति के तहत अनुशंसित मान 48 है।
रिटर्न:
पहले से भेजे गए फ़्रेमों की वास्तविक संख्या लौटाएँ, वापसी मान = -1 डिवाइस त्रुटि को इंगित करता है।
उदाहरण के लिए
2.2.10. वीसीआई_प्राप्त
इस फ़ंक्शन का उपयोग रिसेप्शन का अनुरोध करने के लिए किया जाता है।
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampउदाहरण के लिए, जब केवल एक USB-CAN एडाप्टर होता है, तो सूचकांक संख्या 0 होती है, जब एकाधिक USB-CAN एडाप्टर होते हैं, तो सूचकांक संख्या 0 से शुरू होकर बढ़ते क्रम में होती है।
CANइंडेक्स
CAN चैनल सूचकांक.
समझना
डेटा फ़्रेम का पहला सेट पॉइंटर प्राप्त करने के लिए.
लेन
सामान्य संदेश लौटाने के लिए डेटा फ़्रेम की सरणी लंबाई 2500 से अधिक होनी चाहिए।
अन्यथा, संदेश प्राप्त होने या न होने पर भी वापसी की लंबाई शून्य होगी। एडाप्टर ने प्रत्येक चैनल के लिए 2000-फ़्रेम बफ़र सेट किया। अपने सिस्टम और कार्य वातावरण के आधार पर, उपयोगकर्ता 2500 से उपयुक्त सरणी लंबाई चुन सकता है।
प्रतीक्षा समय आरक्षित.
रिटर्न:
वास्तव में पढ़े गए फ़्रेमों की संख्या लौटाएँ, -1 डिवाइस त्रुटियों को इंगित करता है।
उदाहरण के लिए
भाग तीन अन्य कार्य और डेटा संरचना विवरण
यह अध्याय USB-CAN एडाप्टर इंटरफ़ेस लाइब्रेरी ControlCAN.dll में निहित असंगत ZLG इंटरफ़ेस लाइब्रेरी के अन्य डेटा प्रकारों और कार्यों का वर्णन करता है। कृपया
यदि द्वितीयक विकास के लिए संगत ZLG मॉडल का उपयोग किया जाए तो इन फंक्शनों को कॉल न करें, ताकि संगतता प्रभावित न हो।
3.1 फ़ंक्शन विवरण
3.1.1.VCI_UsbDeviceरीसेट
USB-CAN एडाप्टर को रीसेट करें, रीसेट करने के बाद VCI_OpenDevice का उपयोग करके डिवाइस को पुनः खोलने की आवश्यकता है।
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD आरक्षित
पैरामीटर:
देव प्रकार
डिवाइस प्रकार. देखें: एडाप्टर डिवाइस प्रकार परिभाषा.
देवइंडेक्स
डिवाइस इंडेक्स, उदाहरण के लिएampउदाहरण के लिए, जब केवल एक USB-CAN एडाप्टर होता है, तो सूचकांक संख्या 0 होती है, जब एकाधिक USB-CAN एडाप्टर होते हैं, तो सूचकांक संख्या 0 से शुरू होकर बढ़ते क्रम में होती है।
आरक्षित आरक्षित.
रिटर्न:
रिटर्न वैल्यू = 1, जिसका अर्थ है कि ऑपरेशन सफल रहा; = 0 इंगित करता है कि ऑपरेशन विफल रहा; = -1 इंगित करता है कि डिवाइस मौजूद नहीं है।
bRel = VCI_UsbDeviceReset(nDeviceType, स्वतंत्रता, 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
दस्तावेज़ / संसाधन
![]() |
वेवशेयर यूएसबी-कैन बस इंटरफ़ेस एडाप्टर इंटरफ़ेस फ़ंक्शन लाइब्रेरी [पीडीएफ] निर्देश पुस्तिका USB-CAN बस इंटरफ़ेस एडाप्टर इंटरफ़ेस फ़ंक्शन लाइब्रेरी, USB-CAN, बस इंटरफ़ेस एडाप्टर इंटरफ़ेस फ़ंक्शन लाइब्रेरी, इंटरफ़ेस फ़ंक्शन लाइब्रेरी, फ़ंक्शन लाइब्रेरी |