USB-CAN ავტობუსის ინტერფეისი
ადაპტერის ინტერფეისის ფუნქცია
ბიბლიოთეკის მომხმარებლის ინსტრუქცია
ნაწილი პირველი დასრულდაVIEW
თუ მომხმარებელი უბრალოდ იყენებს USB-CAN ავტობუსის ინტერფეისის ადაპტერს CAN bus კომუნიკაციის ტესტზე გასასვლელად და შემდეგ მას შეუძლია პირდაპირ გამოიყენოს მოწოდებული USB-CAN Tool პროგრამული უზრუნველყოფა ტესტის მონაცემების გასაგზავნად და მისაღებად.
თუ მომხმარებელი აპირებს დაწეროს პროგრამული უზრუნველყოფის პროგრამა საკუთარი პროდუქტებისთვის. გთხოვთ, ყურადღებით წაიკითხოთ შემდეგი ინსტრუქციები და მიიღეთ მითითება სampჩვენ გთავაზობთ კოდს:
⑴ 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
დელფის ვერსიის ფუნქციის დეკლარაცია 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_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 შეტყობინების ჩარჩოს გადასაცემად.
წევრი:
ID
შეტყობინების იდენტიფიკატორი. პირდაპირი ID ფორმატი, მარჯვნივ გასწორებული, იხილეთ: დანართი პირველი: ID განლაგების დეტალები.
TimeStamp
მიღება ქamp ინფორმაცია დროის ჩარჩოს შესახებ, დაწყების დრო, როდესაც CAN კონტროლერი ინიციალიზებულია, ერთეული არის 0. 1ms.
TimeFlag
დროის გამოყენების თვალსაზრისით ქamp, 1 არის ეფექტური TimeStamp. TimeFlag და TimeStamp მნიშვნელობა აქვს მხოლოდ მაშინ, როდესაც ჩარჩო მიიღება.
SendType
გაგზავნის ტიპი. = 0 მიუთითებს ნორმალურ ტიპზე, = 1 მიუთითებს ერთჯერადი გაგზავნაზე.
RemoteFlag
იქნება ეს დისტანციური დროშა. = 1 მიუთითებს დისტანციურ დროშაზე, = 0 მიუთითებს მონაცემთა დროშაზე.
გარე დროშა
იქნება ეს ექსტერნის დროშა. = 1 მიუთითებს გარე დროშაზე, = 0 მიუთითებს სტანდარტულ დროშაზე.
DataLen
მონაცემთა სიგრძე (<=8) ანუ მონაცემთა სიგრძე.
მონაცემები
პაკეტის მონაცემები.
დაცულია
სისტემა დაცულია.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG სტრუქტურა განსაზღვრავს CAN-ის ინიციალიზაციის კონფიგურაციას. სტრუქტურა შეივსება VCI_InitCan ფუნქციაში.
წევრი:
Accode
მიიღეთ გაფილტრული მიღების კოდი.
AccMask
მიიღეთ ფილტრის ნიღაბი.
დაცულია
დაცულია.
ფილტრი
ფილტრაციის მეთოდი, რომელიც იძლევა 0-3 დიაპაზონის დაყენების საშუალებას, დეტალებისთვის იხილეთ ფილტრის რეჟიმის ცხრილის განყოფილება 2.2.3.
დრო 0
SJA1000 Baud სიჩქარის პარამეტრი, Timing0 (BTR0) .
დრო 1
SJA1000 Baud სიჩქარის პარამეტრი, Timing1 (BTR1) .
რეჟიმი
ოპერაციული რეჟიმი, 0 = ნორმალური მუშაობა, 1 = მხოლოდ მოსმენის რეჟიმი, 2 = სპონტანური მიღება და გაგზავნის ტესტის რეჟიმი.
შენიშვნები:
ფილტრის პარამეტრების შესახებ იხილეთ: დანართი II: CANპარამეტრის დაყენების ინსტრუქციები.
CAN Timing0 და Timing1 გამოიყენება ბაუდის სიჩქარის დასაყენებლად, ეს ორი პარამეტრი გამოიყენება მხოლოდ ინიციალიზაციისას stage.
ჩვეულებრივი ბაუდის საცნობარო ცხრილი:
CAN ბაუდის მაჩვენებელი | დრო 0 (BTR0) | დრო 1 (BTR1) |
10 ათასი bps | 0x31 | 0x1C |
20 ათასი bps | 0x18 | 0x1C |
40 ათასი bps | 0x87 | 0xFF |
50 ათასი bps | 0x09 | 0x1C |
80 ათასი bps | 0x83 | 0xFF |
100 ათასი bps | 0x04 | 0x1C |
125 ათასი bps | 0x03 | 0x1C |
200 ათასი bps | 0x81 | 0xFA |
250 ათასი bps | 0x01 | 0x1C |
400 ათასი bps | 0x80 | 0xFA |
500 ათასი bps | 0x00 | 0x1C |
666 ათასი bps | 0x80 | 0xB6 |
800 ათასი bps | 0x00 | 0x16 |
1000 ათასი bps | 0x00 | 0x14 |
33.33 Kbps | 0x09 | 0x6F |
66.66 Kbps | 0x04 | 0x6F |
83.33 Kbps | 0x03 | 0x6F |
- მომხმარებლებს მხოლოდ უნდა მიჰყვეს SJA1000 (16MHz) Baud სიჩქარის პარამეტრის დასაყენებლად.
- ადაპტერი არ უჭერს მხარს დროებით ბაუდის სიჩქარეს 10K ქვემოთ.
2.2. ფუნქციის აღწერა
2.2.1. VCI_OpenDevice
ეს ფუნქცია გამოიყენება მოწყობილობების დასაკავშირებლად.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
პარამეტრები:
DevType
მოწყობილობის ტიპი. იხილეთ: ადაპტერის მოწყობილობის ტიპის განსაზღვრა.
DevIndex
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი 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
მოწყობილობის ინდექსი, მაგ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);
პარამეტრები:
DevType
მოწყობილობის ტიპი. იხილეთ: ადაპტერის მოწყობილობის ტიპის განსაზღვრა.
DevIndex
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი USB-CAN ადაპტერი, ინდექსის ნომერი არის 0, როდესაც არსებობს მრავალი USB-CAN ადაპტერი, ინდექსის ნომრები ზრდადი თანმიმდევრობით იწყება 0-დან.
CANI ინდექსი
CAN არხის ინდექსი, მაგალითად, როდესაც არსებობს მხოლოდ ერთი CAN არხი, ინდექსის ნომერი არის 0, თუ ორია, ინდექსის ნომერი შეიძლება იყოს 0 ან 1.
pInitConfig
ინიციალიზაციის პარამეტრის სტრუქტურა. წევრების პარამეტრების სია:
წევრი | ფუნქციური აღწერა |
pInitConfig->AccCode | AccCode-სა და AccMask-ს შეუძლიათ ერთად იმუშაონ იმის დასადგენად, თუ რომელი პაკეტების მიღებაა შესაძლებელი. ეს ორი რეგისტრი გამოიყენება ID-ის მარცხნივ გასწორების დასაყენებლად, ანუ AccCode-ისა და AccMask-ის უმაღლესი ბიტი (Bit31) გასწორებულია ID მნიშვნელობის უმაღლეს ბიტთან. |
pInitConfig->AccMask | ID განლაგების შესახებ იხილეთ დანართები: დანართი I: ID გასწორების დეტალები. მაგ.: თუ თქვენ დააყენეთ AccCode-ის მნიშვნელობა, როგორც 0x24600000 (ანუ 0x123 გადაინაცვლებს მარცხნივ 21 ბიტით), AccMask მნიშვნელობა დაყენებულია 0x00000000-ზე და შემდეგ შეიძლება მიღებულ იქნას მხოლოდ პაკეტები CAN შეტყობინების ჩარჩოს ID არის 0x123 (AccMask მნიშვნელობა 0x00000000 მიუთითებს, რომ ყველა ბიტი შესაბამისია |
ბიტები). თუ AccCode-ის მნიშვნელობა დაყენებულია 0x24600000-ზე, AccMask-ის მნიშვნელობა დაყენებულია 0x600000-ზე (0x03 არის გადატანილი მარცხნივ 21 ბიტით) და მაშინ მხოლოდ პაკეტები CAN შეტყობინების ჩარჩოს ID არის 0x120 ~ 0x123 (AccMask მნიშვნელობა. 0x600000 მიუთითებს, რომ bit0 ~ bit1-ის გარდა სხვა ბიტები (bit2 ~ bit10) შესაბამისი ბიტია. შენიშვნა: ეს ფილტრის პარამეტრი მაგamples to სტანდარტული ჩარჩო, მაგample, მაღალი 11-ბიტი არის სწორი ბიტი; გაფართოებული ჩარჩოს შემთხვევაში, და მაშინ მოქმედი ID არის 29-ბიტიანი. AccCode-მა და AccMask-მა დააყენეს მაღალი 29-ბიტი, როგორც მოქმედი ბიტი! |
|
pInitConfig->Reserved | დაცულია |
pInitConfig->ფილტრი | ფილტრაციის რეჟიმის პარამეტრები, გთხოვთ, იხილოთ ფილტრის რეჟიმის ცხრილის განყოფილება. |
pInitConfig->Timing0 | Baud rate T0 პარამეტრი |
pInitConfig->Timing1 | Baud rate T1 პარამეტრი |
pInitConfig->Mode | სამუშაო რეჟიმი: 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
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი 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
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი USB-CAN ადაპტერი, ინდექსის ნომერი არის 0, როდესაც არსებობს მრავალი USB-CAN ადაპტერი, ინდექსის ნომრები ზრდადი მიმდევრობით იწყება 0-დან.
CANI ინდექსი
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
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი USB-CAN ადაპტერი, ინდექსის ნომერი არის 0, როდესაც არსებობს მრავალი USB-CAN ადაპტერი, ინდექსის ნომრები ზრდადი მიმდევრობით იწყება 0-დან.
CANI ინდექსი
CAN არხის ინდექსი.
აბრუნებს:
დაბრუნების მნიშვნელობა = 1, რაც ნიშნავს, რომ ოპერაცია წარმატებით დასრულდა; = 0 მიუთითებს, რომ ოპერაცია ჩაიშალა; = -1 მიუთითებს, რომ მოწყობილობა არ არსებობს.
2.2.7. VCI_StartCAN
ეს ფუნქცია გამოიყენება CAN კონტროლერის და ადაპტერის შიდა შეფერხების მიღების ფუნქციის გასაშვებად.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
პარამეტრები:
DevType
მოწყობილობის ტიპი. იხილეთ: ადაპტერის მოწყობილობის ტიპის განსაზღვრა.
DevIndex
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი USB-CAN ადაპტერი, ინდექსის ნომერი არის 0, როდესაც არსებობს მრავალი USB-CAN ადაპტერი, ინდექსის ნომრები ზრდადი თანმიმდევრობით იწყება 0-დან.
CANI ინდექსი
CAN არხის ინდექსი.
აბრუნებს:
დაბრუნების მნიშვნელობა = 1, რაც ნიშნავს, რომ ოპერაცია წარმატებით დასრულდა; = 0 მიუთითებს, რომ ოპერაცია ჩაიშალა; = -1 მიუთითებს, რომ მოწყობილობა არ არსებობს.
2.2.8. VCI_ResetCAN
ეს ფუნქცია გამოიყენება CAN კონტროლერის გადატვირთვისთვის.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
პარამეტრები:
DevType
მოწყობილობის ტიპი. იხილეთ: ადაპტერის მოწყობილობის ტიპის განსაზღვრა.
DevIndex
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი USB-CAN ადაპტერი, ინდექსის ნომერი არის 0, როდესაც არსებობს მრავალი USB-CAN ადაპტერი, ინდექსის ნომრები ზრდადი თანმიმდევრობით იწყება 0-დან.
CANI ინდექსი
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
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი USB-CAN ადაპტერი, ინდექსის ნომერი არის 0, როდესაც არსებობს მრავალი USB-CAN ადაპტერი, ინდექსის ნომრები ზრდადი თანმიმდევრობით იწყება 0-დან.
CANI ინდექსი
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
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი USB-CAN ადაპტერი, ინდექსის ნომერი არის 0, როდესაც არსებობს მრავალი USB-CAN ადაპტერი, ინდექსის ნომრები ზრდადი თანმიმდევრობით იწყება 0-დან.
CANI ინდექსი
CAN არხის ინდექსი.
მიიღეთ
მონაცემთა ჩარჩოების პირველი კომპლექტის მაჩვენებლის მისაღებად.
ლენ
მონაცემთა ჩარჩოს მასივის სიგრძე უნდა იყოს 2500-ზე მეტი ნორმალური შეტყობინების დასაბრუნებლად.
წინააღმდეგ შემთხვევაში, დაბრუნების სიგრძე იქნება ნული, მიიღება თუ არა შეტყობინება. ადაპტერმა დააყენა 2000 ფრეიმიანი ბუფერი ყველა არხისთვის. საკუთარ სისტემაზე და სამუშაო გარემოზე დაყრდნობით მომხმარებელს შეუძლია აირჩიოს შესაბამისი მასივის სიგრძე 2500-დან.
ლოდინის დრო დაჯავშნილია.
აბრუნებს:
დააბრუნეთ რეალურად წაკითხული კადრების რაოდენობა, -1 მიუთითებს მოწყობილობის შეცდომებზე.
მაგ
ნაწილი მესამე სხვა ფუნქციები და მონაცემთა სტრუქტურის აღწერა
ეს თავი აღწერს მონაცემთა სხვა ტიპებსა და ფუნქციებს შეუთავსებელი ZLG ინტერფეისის ბიბლიოთეკის, რომელიც შეიცავს USB-CAN ადაპტერის ინტერფეისის ბიბლიოთეკას ControlCAN.dll. გთხოვთ
არ გამოიძახოთ ეს ფუნქციები, თუ გამოიყენეთ თავსებადი ZLG მოდელი მეორადი განვითარებისთვის, რათა არ იმოქმედოს თავსებადობაზე.
3.1 ფუნქციის აღწერა
3.1.1. VCI_UsbDeviceReset
გადატვირთეთ USB-CAN ადაპტერი, საჭიროა ხელახლა გახსნა მოწყობილობა გადატვირთვის შემდეგ VCI_OpenDevice-ის გამოყენებით.
DWORD __stdcall VCI_UsbDevice Reset(DWORD DevType,DWORD DevIndex,DWORD Reserved
პარამეტრები:
DevType
მოწყობილობის ტიპი. იხილეთ: ადაპტერის მოწყობილობის ტიპის განსაზღვრა.
DevIndex
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი 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 Bus Inter face Adapter Interface Interface Function Library [pdf] ინსტრუქციის სახელმძღვანელო USB-CAN Bus Interface Adapter Interface Function Library, USB-CAN, Bus Interface Adapter Interface Function Library, ინტერფეისის ფუნქციების ბიბლიოთეკა, ფუნქციების ბიბლიოთეკა |