WAVESHARE ლოგოUSB-CAN ავტობუსის ინტერფეისი
ადაპტერის ინტერფეისის ფუნქცია
ბიბლიოთეკის მომხმარებლის ინსტრუქციაWAVESHARE USB CAN Bus Inter face Adapter Interface Interface Function Library

ნაწილი პირველი დასრულდა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 ფუნქციაში.

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 1

წევრი:
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 შეტყობინების ჩარჩოს გადასაცემად.

WAVESHARE USB 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 ფუნქციაში.

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 2

წევრი:
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
  1. მომხმარებლებს მხოლოდ უნდა მიჰყვეს SJA1000 (16MHz) Baud სიჩქარის პარამეტრის დასაყენებლად.
  2. ადაპტერი არ უჭერს მხარს დროებით ბაუდის სიჩქარეს 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 მიუთითებს, რომ მოწყობილობა არ არსებობს.

WAVESHARE USB CAN Bus Inter face Adapter Interface Interface Function Library - ნახ3

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 მიუთითებს, რომ მოწყობილობა არ არსებობს.

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 4

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 მიუთითებს, რომ მოწყობილობა არ არსებობს.
მაგ

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 4

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 6

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 მიუთითებს, რომ მოწყობილობა არ არსებობს.

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 7

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 მიუთითებს, რომ მოწყობილობა არ არსებობს.

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 8

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 მიუთითებს, რომ მოწყობილობა არ არსებობს.

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 9

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 მიუთითებს, რომ მოწყობილობა არ არსებობს.

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 10

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 მიუთითებს მოწყობილობის შეცდომაზე.
მაგ
WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 11

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 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
მოწყობილობის ინდექსი, მაგampროდესაც არსებობს მხოლოდ ერთი USB-CAN ადაპტერი, ინდექსის ნომერი არის 0, როდესაც არსებობს მრავალი USB-CAN ადაპტერი, ინდექსის ნომრები ზრდადი თანმიმდევრობით იწყება 0-დან.
CANI ინდექსი
CAN არხის ინდექსი.
მიიღეთ
მონაცემთა ჩარჩოების პირველი კომპლექტის მაჩვენებლის მისაღებად.
ლენ
მონაცემთა ჩარჩოს მასივის სიგრძე უნდა იყოს 2500-ზე მეტი ნორმალური შეტყობინების დასაბრუნებლად.
წინააღმდეგ შემთხვევაში, დაბრუნების სიგრძე იქნება ნული, მიიღება თუ არა შეტყობინება. ადაპტერმა დააყენა 2000 ფრეიმიანი ბუფერი ყველა არხისთვის. საკუთარ სისტემაზე და სამუშაო გარემოზე დაყრდნობით მომხმარებელს შეუძლია აირჩიოს შესაბამისი მასივის სიგრძე 2500-დან.
ლოდინის დრო დაჯავშნილია.
აბრუნებს:
დააბრუნეთ რეალურად წაკითხული კადრების რაოდენობა, -1 მიუთითებს მოწყობილობის შეცდომებზე.
მაგ
WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 13

ნაწილი მესამე სხვა ფუნქციები და მონაცემთა სტრუქტურის აღწერა

ეს თავი აღწერს მონაცემთა სხვა ტიპებსა და ფუნქციებს შეუთავსებელი 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 მიუთითებს, რომ მოწყობილობა არ არსებობს.

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 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 ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 15

ნაწილი მეოთხე ინტერფეისის ბიბლიოთეკის ფუნქციები პროცესის გამოყენებით
მოწყობილობის ფუნქციის გასამრავლებლად, ჩვენ მივაწოდეთ დამატებითი ფუნქციები (ფუნქციები წარმოდგენილია მწვანე ფონით), ეს ფუნქციები მოიცავს: VCI_FindUsbDevice2 VCI_UsbDeviceReset. მეორე განვითარების დროს, ეს ფუნქციები სულაც არ არის გამოძახებული. ეს ფუნქციებიც კი იგნორირებულია, USB-CAN ადაპტერის ყველა ფუნქციის მიღწევა შესაძლებელია.

WAVESHARE USB CAN ავტობუსი ინტერფეისის ადაპტერის ინტერფეისის ფუნქციების ბიბლიოთეკა - ნახ 16

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, ინტერფეისის ფუნქციების ბიბლიოთეკა, ფუნქციების ბიბლიოთეკა

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *