WAVESHARE ਲੋਗੋUSB-CAN ਬੱਸ ਇੰਟਰਫੇਸ
ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ
ਲਾਇਬ੍ਰੇਰੀ ਉਪਭੋਗਤਾ ਨਿਰਦੇਸ਼WAVESHARE USB CAN ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ

ਭਾਗ ਇੱਕ ਓਵਰVIEW

ਜੇਕਰ ਉਪਭੋਗਤਾ ਸਿਰਫ਼ CAN ਬੱਸ ਸੰਚਾਰ ਟੈਸਟ 'ਤੇ ਜਾਣ ਲਈ USB-CAN ਬੱਸ ਇੰਟਰਫੇਸ ਅਡੈਪਟਰ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਉਹ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਟੈਸਟ ਦੇ ਡੇਟਾ ਨੂੰ ਭੇਜਣ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਪਲਾਈ ਕੀਤੇ USB-CAN ਟੂਲ ਸੌਫਟਵੇਅਰ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ।
ਜੇਕਰ ਉਪਭੋਗਤਾ ਆਪਣੇ ਖੁਦ ਦੇ ਉਤਪਾਦਾਂ ਲਈ ਸੌਫਟਵੇਅਰ ਪ੍ਰੋਗਰਾਮ ਲਿਖਣਾ ਚਾਹੁੰਦਾ ਹੈ. ਕਿਰਪਾ ਕਰਕੇ ਹੇਠ ਲਿਖੀਆਂ ਹਦਾਇਤਾਂ ਨੂੰ ਧਿਆਨ ਨਾਲ ਪੜ੍ਹੋ ਅਤੇ s ਤੋਂ ਹਵਾਲਾ ਲਓample ਕੋਡ ਜੋ ਅਸੀਂ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਾਂ:
⑴ 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 ਫੰਕਸ਼ਨ ਵਿੱਚ ਭਰਿਆ ਜਾਵੇਗਾ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 1

ਮੈਂਬਰ:
hw_ਵਰਜਨ
ਹਾਰਡਵੇਅਰ ਸੰਸਕਰਣ ਨੰਬਰ, ਹੈਕਸਾਡੈਸੀਮਲ ਸੰਕੇਤ। ਉਦਾਹਰਨ ਲਈ 0x0100 V1.00 ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
fw_ਵਰਜਨ
ਹਾਰਡਵੇਅਰ ਸੰਸਕਰਣ ਨੰਬਰ, ਹੈਕਸਾਡੈਸੀਮਲ ਸੰਕੇਤ। ਉਦਾਹਰਨ ਲਈ 0x0100 V1.00 ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਪੰਨਾ 2
dr_ਵਰਜਨ

ਡਰਾਈਵਰ ਸੰਸਕਰਣ ਨੰਬਰ, ਹੈਕਸਾਡੈਸੀਮਲ ਸੰਕੇਤ। ਉਦਾਹਰਨ ਲਈ 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
ਸੁਨੇਹਾ ਪਛਾਣਕਰਤਾ। ਡਾਇਰੈਕਟ ਆਈਡੀ ਫਾਰਮੈਟ, ਸੱਜੇ-ਅਲਾਈਨ ਕੀਤੇ, ਕਿਰਪਾ ਕਰਕੇ ਵੇਖੋ: Annex One: ID ਅਲਾਈਨਮੈਂਟ ਵੇਰਵੇ।
ਟਾਈਮਸਟamp
ਐੱਸ.ਟੀamp ਸਮਾਂ ਸੀਮਾ ਦੀ ਜਾਣਕਾਰੀ, ਸਮਾਂ ਸ਼ੁਰੂ ਕਰੋ ਜਦੋਂ CAN ਕੰਟਰੋਲਰ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਯੂਨਿਟ 0. 1ms ਹੈ।
ਟਾਈਮ ਫਲੈਗ
ਸਮੇਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਸਟamp, 1 ਪ੍ਰਭਾਵਸ਼ਾਲੀ TimeSt ਹੈamp. TimeFlag ਅਤੇ TimeStamp ਸਿਰਫ਼ ਉਦੋਂ ਹੀ ਅਰਥਪੂਰਨ ਹੁੰਦੇ ਹਨ ਜਦੋਂ ਫਰੇਮ ਪ੍ਰਾਪਤ ਹੁੰਦਾ ਹੈ।
SendType
ਭੇਜਣ ਦੀ ਕਿਸਮ। = 0 ਆਮ ਕਿਸਮ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, = 1 ਸਿੰਗਲ ਭੇਜਦਾ ਹੈ।
ਰਿਮੋਟ ਫਲੈਗ
ਚਾਹੇ ਇਹ ਰਿਮੋਟ ਝੰਡਾ ਹੋਵੇ। = 1 ਰਿਮੋਟ ਫਲੈਗ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, = 0 ਡਾਟਾ ਫਲੈਗ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਬਾਹਰੀ ਫਲੈਗ
ਭਾਵੇਂ ਇਹ ਬਾਹਰੀ ਝੰਡਾ ਹੋਵੇ। = 1 ਬਾਹਰੀ ਝੰਡੇ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, = 0 ਮਿਆਰੀ ਝੰਡੇ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
DataLen
ਡੇਟਾ ਦੀ ਲੰਬਾਈ (<=8) , ਯਾਨੀ ਡੇਟਾ ਦੀ ਲੰਬਾਈ।
ਡਾਟਾ
ਪੈਕੇਟ ਡਾਟਾ.
ਰਾਖਵਾਂ
ਸਿਸਟਮ ਰਾਖਵਾਂ ਹੈ।
2.1.4 VCI_INIT_CONFIG
VCI_INIT_CONFIG ਢਾਂਚਾ CAN ਦੀ ਸ਼ੁਰੂਆਤੀ ਸੰਰਚਨਾ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਢਾਂਚਾ VCI_InitCan ਫੰਕਸ਼ਨ ਵਿੱਚ ਭਰਿਆ ਜਾਵੇਗਾ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 2

ਮੈਂਬਰ:
AccCode
ਫਿਲਟਰ ਕੀਤਾ ਸਵੀਕ੍ਰਿਤੀ ਕੋਡ ਪ੍ਰਾਪਤ ਕਰੋ।
AccMask
ਫਿਲਟਰ ਮਾਸਕ ਪ੍ਰਾਪਤ ਕਰੋ।
ਰਾਖਵਾਂ
ਰਾਖਵਾਂ.
ਫਿਲਟਰ
ਫਿਲਟਰਿੰਗ ਵਿਧੀ, ਸੀਮਾ 0-3 ਨੂੰ ਸੈੱਟ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ, ਵੇਰਵਿਆਂ ਲਈ ਫਿਲਟਰ ਮੋਡ ਟੇਬਲ ਦੇ ਸੈਕਸ਼ਨ 2.2.3 ਨੂੰ ਵੇਖੋ।
ਸਮਾਂ 0
SJA1000 ਬੌਡ ਰੇਟ ਪੈਰਾਮੀਟਰ, ਟਾਈਮਿੰਗ0 (BTR0)।
ਸਮਾਂ 1
SJA1000 ਬੌਡ ਰੇਟ ਪੈਰਾਮੀਟਰ, ਟਾਈਮਿੰਗ1 (BTR1)।
ਮੋਡ
ਓਪਰੇਟਿੰਗ ਮੋਡ, 0 = ਸਾਧਾਰਨ ਕਾਰਵਾਈ, 1 = ਸਿਰਫ਼-ਸੁਣਨ ਦਾ ਮੋਡ, 2 = ਸਵੈਚਲਿਤ ਦਾਖਲਾ ਅਤੇ ਭੇਜਣਾ ਟੈਸਟ ਮੋਡ।
ਟਿੱਪਣੀਆਂ:
ਫਿਲਟਰ ਸੈਟਿੰਗਾਂ ਬਾਰੇ ਕਿਰਪਾ ਕਰਕੇ ਵੇਖੋ: Annex II: CAN ਪੈਰਾਮੀਟਰ ਸੈੱਟਅੱਪ ਨਿਰਦੇਸ਼।
CAN ਟਾਈਮਿੰਗ0 ਅਤੇ ਟਾਈਮਿੰਗ 1 ਦੀ ਵਰਤੋਂ ਬੌਡ ਰੇਟ ਸੈੱਟ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਇਹ ਦੋ ਪੈਰਾਮੀਟਰ ਸਿਰਫ਼ ਸ਼ੁਰੂਆਤੀ s 'ਤੇ ਵਰਤੇ ਜਾਂਦੇ ਹਨ।tage.
ਰਵਾਇਤੀ ਬੌਡ ਸੰਦਰਭ ਸਾਰਣੀ:

CAN ਬੌਡ ਦਰ ਸਮਾਂ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 ਫੰਕਸ਼ਨ ਦਾ ਵੇਰਵਾ
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 ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ3

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 ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 4

2.2.3 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 ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਇਕੱਠੇ ਕੰਮ ਕਰ ਸਕਦੇ ਹਨ ਕਿ ਕਿਹੜੇ ਪੈਕੇਟ ਸਵੀਕਾਰ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਇਹਨਾਂ ਦੋ ਰਜਿਸਟਰਾਂ ਦੀ ਵਰਤੋਂ ID ਨੂੰ ਖੱਬੇ-ਅਲਾਈਨ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਯਾਨੀ AccCode ਦਾ ਸਭ ਤੋਂ ਉੱਚਾ ਬਿੱਟ (Bit31) ਅਤੇ AccMask ID ਮੁੱਲ ਦੇ ਸਭ ਤੋਂ ਉੱਚੇ ਬਿੱਟ ਨਾਲ ਇਕਸਾਰ ਹੁੰਦਾ ਹੈ।
pInitConfig->AccMask ਆਈਡੀ ਅਲਾਈਨਮੈਂਟ ਬਾਰੇ ਸੰਦਰਭ ਸੰਦਰਭ: ਅਨੁਬੰਧ I:
ਆਈਡੀ ਅਲਾਈਨਮੈਂਟ ਵੇਰਵੇ।
ਉਦਾਹਰਨ ਲਈ: ਜੇਕਰ ਤੁਸੀਂ AccCode ਦਾ ਮੁੱਲ 0x24600000 (ਭਾਵ 0x123 ਨੂੰ 21 ਬਿੱਟਾਂ ਦੁਆਰਾ ਖੱਬੇ ਪਾਸੇ ਸ਼ਿਫਟ ਕੀਤਾ ਗਿਆ ਹੈ) ਦੇ ਰੂਪ ਵਿੱਚ ਸੈੱਟ ਕਰਦੇ ਹੋ, ਤਾਂ AccMask ਮੁੱਲ
0x00000000 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਅਤੇ ਫਿਰ ਸਿਰਫ਼ CAN ਸੁਨੇਹਾ ਫਰੇਮ ID 0x123 ਵਾਲੇ ਪੈਕੇਟ ਸਵੀਕਾਰ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ (0x00000000 ਦਾ AccMask ਮੁੱਲ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਸਾਰੇ ਬਿੱਟ ਸੰਬੰਧਿਤ ਹਨ।
ਬਿੱਟ)। ਜੇਕਰ AccCode ਮੁੱਲ 0x24600000 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ, AccMask ਮੁੱਲ 0x600000 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ (0x03 ਨੂੰ 21 ਬਿੱਟਾਂ ਦੁਆਰਾ ਖੱਬੇ ਪਾਸੇ ਸ਼ਿਫਟ ਕੀਤਾ ਗਿਆ ਹੈ), ਅਤੇ ਫਿਰ ਸਿਰਫ਼ CAN ਸੁਨੇਹਾ ਫਰੇਮ ID 0x120 ~ 0x123 ਵਾਲੇ ਪੈਕੇਟ ਨੂੰ ਸਵੀਕਾਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ (AccMask ਮੁੱਲ।
0x600000 ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ bit0 ~ bit1 ਤੋਂ ਇਲਾਵਾ ਹੋਰ ਬਿੱਟ (bit2 ~ bit10) ਸੰਬੰਧਿਤ ਬਿੱਟ ਹਨ)।
ਨੋਟ: ਇਹ ਫਿਲਟਰ ਸੈਟਿੰਗ ਸਾਬਕਾampਸਟੈਂਡਰਡ ਫਰੇਮ ਤੱਕ, ਉਦਾਹਰਨ ਲਈample, ਉੱਚ 11-ਬਿੱਟ ਵੈਧ ਬਿੱਟ ਹੈ; ਵਿਸਤ੍ਰਿਤ ਫਰੇਮ ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਅਤੇ ਫਿਰ ਵੈਧ ID 29-ਬਿੱਟ ਹੈ। AccCode ਅਤੇ AccMask ਨੇ ਉੱਚ 29-ਬਿੱਟ ਨੂੰ ਵੈਧ ਬਿੱਟ ਵਜੋਂ ਸੈੱਟ ਕੀਤਾ ਹੈ!
pInitConfig->ਰਿਜ਼ਰਵਡ ਰਾਖਵਾਂ
pInitConfig->ਫਿਲਟਰ ਫਿਲਟਰਿੰਗ ਮੋਡ ਸੈਟਿੰਗਾਂ ਕਿਰਪਾ ਕਰਕੇ ਫਿਲਟਰ ਮੋਡ ਟੇਬਲ ਦੇ ਭਾਗ ਨੂੰ ਵੇਖੋ।
pInitConfig->ਟਾਈਮਿੰਗ0 ਬੌਡ ਰੇਟT0 ਸੈਟਿੰਗ
pInitConfig->ਟਾਈਮਿੰਗ1 ਬੌਡ ਰੇਟT1 ਸੈਟਿੰਗ
pInitConfig->ਮੋਡ ਓਪਰੇਟਿੰਗ ਮੋਡ:
0-ਆਮ ਕਾਰਵਾਈ
1-ਸਿਰਫ਼ ਸੁਣਨ ਦਾ ਮੋਡ
2-ਸਪੱਸ਼ਟ ਦਾਖਲਾ ਅਤੇ ਟੈਸਟ ਮੋਡ ਭੇਜਣਾ (ਇਸ ਮੁੱਲ ਨੂੰ ZLG ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ ਬਾਹਰ ਰੱਖਿਆ ਗਿਆ ਹੈ)

ਫਿਲਟਰ ਮੋਡ ਸਾਰਣੀ:

ਮੁੱਲ ਨਾਮ ਵਰਣਨ
1 ਸਾਰੀਆਂ ਕਿਸਮਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰੋ ਸਟੈਂਡਰਡ ਅਤੇ ਐਕਸਟੈਂਡਡ ਫਰੇਮ ਦੋਵਾਂ ਲਈ ਢੁਕਵਾਂ!
2 ਸਿਰਫ਼ ਮਿਆਰੀ ਫਰੇਮ ਪ੍ਰਾਪਤ ਕਰੋ ਮਿਆਰੀ ਫਰੇਮ ਲਈ ਅਨੁਕੂਲ, ਅਤੇ ਵਿਸਤ੍ਰਿਤ
ਫਰੇਮ ਨੂੰ ਸਿੱਧੇ ਫਿਲਟਰੇਸ਼ਨ ਦੁਆਰਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ!
3 ਸਿਰਫ਼ ਵਿਸਤ੍ਰਿਤ ਫ੍ਰੇਮ ਪ੍ਰਾਪਤ ਕਰੋ ਵਿਸਤ੍ਰਿਤ ਫਰੇਮ ਲਈ ਅਨੁਕੂਲ ਹੈ, ਅਤੇ ਮਿਆਰੀ ਫਰੇਮ ਦੁਆਰਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ
ਸਿੱਧੇ ਫਿਲਟਰੇਸ਼ਨ! .

ਵਾਪਸੀ:
ਵਾਪਸੀ ਮੁੱਲ = 1, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕਾਰਵਾਈ ਸਫਲ ਹੈ; = 0 ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਓਪਰੇਸ਼ਨ ਅਸਫਲ ਰਿਹਾ; = -1 ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।
ਉਦਾ

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 4

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 6

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 ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 7

2.2.5 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) ਸ਼ਾਮਲ ਕਰੋ;
2.2.6 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 ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 8

2.2.7 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 ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 9

2.2.8 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 ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 10

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 ਤੋਂ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਵੱਧਦੇ ਕ੍ਰਮ ਵਿੱਚ ਹੁੰਦੇ ਹਨ।
ਕੈਨਇੰਡੈਕਸ
CAN ਚੈਨਲ ਸੂਚਕਾਂਕ। p ਭੇਜੋ
ਡਾਟਾ ਫਰੇਮ ਐਰੇ ਦਾ ਪਹਿਲਾ ਪਤਾ ਜੋ ਭੇਜਿਆ ਜਾਣਾ ਹੈ।
ਲੰਬਾਈ
ਭੇਜੇ ਜਾਣ ਵਾਲੇ ਡੇਟਾ ਫਰੇਮਾਂ ਦੀ ਸੰਖਿਆ, ਅਧਿਕਤਮ ਸੰਖਿਆ 1000 ਹੈ, ਹਾਈ ਸਪੀਡ ਦੇ ਤਹਿਤ ਸਿਫਾਰਿਸ਼ ਕੀਤੀ ਗਈ ਕੀਮਤ 48 ਹੈ।
ਵਾਪਸੀ:
ਪਹਿਲਾਂ ਤੋਂ ਭੇਜੇ ਗਏ ਫਰੇਮਾਂ ਦੀ ਅਸਲ ਸੰਖਿਆ ਵਾਪਸ ਕਰੋ, ਵਾਪਸੀ ਮੁੱਲ = -1 ਇੱਕ ਡਿਵਾਈਸ ਗਲਤੀ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਉਦਾ
ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 11

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 12

2.2.10 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 ਡਿਵਾਈਸ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਉਦਾ
ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 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 ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 14

bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2 VCI_FindUsbDevice2
ਜਦੋਂ ਉਹੀ PC ਮਲਟੀਪਲ USB-CAN ਵਰਤਦਾ ਹੈ, ਤਾਂ ਉਪਭੋਗਤਾ ਮੌਜੂਦਾ ਡਿਵਾਈਸ ਨੂੰ ਲੱਭਣ ਲਈ ਇਸ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ।
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
ਪੈਰਾਮੀਟਰ:
pInfo
pInfo ਦੀ ਵਰਤੋਂ ਪਹਿਲੇ ਡੇਟਾ ਬਫਰ ਐਡਰੈੱਸ ਪੁਆਇੰਟਰ ਦੇ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਵਾਪਸੀ
ਕੰਪਿਊਟਰ ਵਿੱਚ ਪਲੱਗ ਕੀਤੇ USB-CAN ਅਡਾਪਟਰ ਦਾ ਨੰਬਰ ਵਾਪਸ ਕਰੋ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 15

ਭਾਗ ਚਾਰ ਇੰਟਰਫੇਸ ਲਾਇਬ੍ਰੇਰੀ ਫੰਕਸ਼ਨ ਪ੍ਰਕਿਰਿਆ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ
ਡਿਵਾਈਸ ਫੰਕਸ਼ਨ ਨੂੰ ਗੁਣਾ ਕਰਨ ਲਈ, ਅਸੀਂ ਵਾਧੂ ਫੰਕਸ਼ਨ (ਹਰੇ ਬੈਕਗ੍ਰਾਉਂਡ ਦੇ ਨਾਲ ਪੇਸ਼ ਕੀਤੇ ਫੰਕਸ਼ਨ) ਪ੍ਰਦਾਨ ਕੀਤੇ ਹਨ, ਇਹਨਾਂ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ: VCI_FindUsbDevice2 VCI_UsbDeviceReset. ਦੂਜੇ ਵਿਕਾਸ ਦੇ ਦੌਰਾਨ, ਇਹ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਬੁਲਾਇਆ ਜਾਣਾ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੈ। ਇੱਥੋਂ ਤੱਕ ਕਿ ਇਹਨਾਂ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਅਣਡਿੱਠ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਸਾਰੇ USB-CAN ਅਡਾਪਟਰ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਵੇਵਸ਼ੇਅਰ USB ਕੈਨ ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ - ਚਿੱਤਰ 16

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

ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ

WAVESHARE USB-CAN ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡਾਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ [pdf] ਹਦਾਇਤ ਮੈਨੂਅਲ
USB-CAN ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡੈਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ, USB-CAN, ਬੱਸ ਇੰਟਰ ਫੇਸ ਅਡੈਪਟਰ ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ, ਇੰਟਰਫੇਸ ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ, ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ

ਹਵਾਲੇ

ਇੱਕ ਟਿੱਪਣੀ ਛੱਡੋ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਲੋੜੀਂਦੇ ਖੇਤਰਾਂ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕੀਤਾ ਗਿਆ ਹੈ *