Logo WAVESHAREAntara Muka Bas USB-CAN
Fungsi Antara Muka Penyesuai
Arahan Pengguna PerpustakaanWAVESHARE USB BOLEH Bas Inter face Adapter Interface Function Library

BAHAGIAN SATU TAMATVIEW

Jika pengguna hanya menggunakan penyesuai antara muka bas USB-CAN untuk meneruskan ujian komunikasi bas CAN, dan kemudian dia boleh terus menggunakan perisian Alat USB-CAN yang dibekalkan untuk menghantar dan menerima data ujian.
Jika pengguna bercadang untuk menulis program perisian untuk produknya sendiri. Sila baca dengan teliti arahan berikut dan ambil rujukan daripada sampkod yang kami sediakan:
⑴ C++ Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Membangunkan perpustakaan file :ControlCAN.lib, ControlCAN.DLL
Perisytiharan fungsi versi VC file :ControlCAN.h
Pengisytiharan fungsi versi VB file: ControlCAN.bas
MakmalVIEW modul pakej fungsi perpustakaan versi:ControlCAN.llb
Pengisytiharan fungsi versi Delphi file: ControlCAN.pas

BAHAGIAN DUA PERPUSTAKAAN FUNGSI SESUAI DAN STRUKTUR DATA

2.1. DEFINISI JENIS
2.1.1. Jenis peranti

Jenis Definisi Nilai taip Penerangan
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
Struktur VCI_BOARD_INFO mengandungi maklumat peranti antara muka USB-CAN Series.
Struktur akan diisi dalam fungsi VCI_ReadBoardInfo.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 1

ahli:
hw_Versi
Nombor versi perkakasan, tatatanda heksadesimal. Cth 0x0100 mewakili V1.00.
fw_Versi
Nombor versi perkakasan, tatatanda heksadesimal. Cth 0x0100 mewakili V1.00.
Muka surat 2
dr_Versi

Nombor versi pemacu, tatatanda heksadesimal. Cth 0x0100 mewakili V1.00.
dalam_Versi
Nombor versi perpustakaan antara muka, tatatanda heksadesimal. Cth 0x0100 mewakili V1.00.
irq_Num
Sistem terpelihara.
boleh_Bil
Mewakili jumlah bilangan saluran CAN.
str_Serial_Num
Nombor siri kad papan ini.
str_hw_Type
Jenis perkakasan, seperti “USBCAN V1.00” (Nota: Termasuk penamat rentetan '\0').
Terpelihara
Sistem terpelihara.
2.1.3. VCI_CAN_OBJ
Dalam fungsi VCI_Transmit dan VCI_Receive, struktur VCI_CAN_OBJ digunakan untuk menghantar bingkai mesej CAN.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah

ahli:
ID
Pengecam mesej. Format ID Terus, dijajarkan ke kanan, sila rujuk: Lampiran Satu: Butiran Penjajaran ID.
MasaStamp
Menerima stamp maklumat rangka masa, masa mulakan apabila pengawal CAN dimulakan, unit ialah 0. 1ms.
TimeFlag
Dari segi sama ada untuk menggunakan masa stamp, 1adalah TimeSt yang berkesanamp. TimeFlag dan TimeStamp hanya bermakna apabila bingkai diterima.
SendType
Jenis menghantar. = 0 menunjukkan jenis Normal, = 1 menunjukkan Hantar Tunggal.
Bendera Jauh
Sama ada ia adalah bendera jauh. = 1 menunjukkan bendera jauh, = 0 menunjukkan bendera data.
ExternFlag
Sama ada ia adalah bendera luar. = 1 menunjukkan bendera luar, = 0 menunjukkan bendera standard.
DataLen
Panjang data(<=8) ,iaitu panjang data.
Data
Data paket.
Terpelihara
Sistem terpelihara.
2.1.4. VCI_INIT_CONFIG
Struktur VCI_INIT_CONFIG mentakrifkan konfigurasi permulaan CAN. Struktur akan diisi dalam fungsi VCI_InitCan.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 2

ahli:
AccCode
Terima kod penerimaan yang ditapis.
AccMask
Terima topeng penapis.
Terpelihara
Terpelihara.
Penapis
Kaedah penapisan, membenarkan julat tetapan 0-3, rujuk bahagian 2.2.3 jadual mod penapis untuk butiran.
Masa0
Parameter kadar Baud SJA1000, Pemasa0 (BTR0) .
Masa1
Parameter kadar Baud SJA1000, Pemasa1 (BTR1) .
Mod
Mod pengendalian, 0 = operasi biasa, 1 = Mod dengar sahaja, 2 = mod ujian kemasukan dan penghantaran secara spontan.
Catatan:
Mengenai tetapan penapis sila rujuk: Lampiran II: Arahan persediaan CANparameter.
CAN Timing0 dan Timing1 digunakan untuk menetapkan kadar baud, kedua-dua parameter ini hanya digunakan pada permulaan stage.
Jadual rujukan Baud konvensional:

CAN kadar Baud Masa0(BTR0) Masa1(BTR1)
10k bps 0x31 0x1C
20k bps 0x18 0x1C
40k bps 0x87 0xFF
50k bps 0x09 0x1C
80k bps 0x83 0xFF
100k bps 0x04 0x1C
125k bps 0x03 0x1C
200k bps 0x81 0xFA
250k bps 0x01 0x1C
400k bps 0x80 0xFA
500k bps 0x00 0x1C
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. Pengguna hanya perlu mengikut SJA1000 (16MHz) untuk menetapkan parameter kadar Baud.
  2. Penyesuai tidak menyokong kadar Baud buat sementara waktu di bawah 10K.

2.2. HURAIAN FUNGSI
2.2.1. VCI_OpenDevice
Fungsi ini digunakan untuk menyambungkan peranti.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0.
Terpelihara
Parameter pengekalan, isikan 0.
Pulangan:
Nilai pulangan = 1, yang bermaksud bahawa operasi berjaya; = 0 menunjukkan bahawa operasi gagal; = -1 menunjukkan bahawa peranti itu tidak wujud.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah3

2.2.2. VCI_CloseDevice
Fungsi ini digunakan untuk menutup sambungan.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0.
Pulangan:
Nilai pulangan = 1, yang bermaksud bahawa operasi berjaya; = 0 menunjukkan bahawa operasi gagal; = -1 menunjukkan bahawa peranti itu tidak wujud.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 4

2.2.3. VCI_InitCan
Fungsi ini digunakan untuk memulakan CAN yang ditentukan.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0.
CANIndeks
Indeks saluran CAN, seperti apabila terdapat hanya satu saluran CAN, nombor indeks adalah 0, jika terdapat dua, nombor indeks boleh menjadi 0 atau 1.
pInitConfig
Struktur parameter permulaan. Senarai parameter ahli:

Ahli Penerangan Fungsian
pInitConfig->AccCode AccCode dan AccMask boleh bekerjasama untuk menentukan paket yang boleh diterima. Kedua-dua daftar ini digunakan untuk menetapkan ID dijajar kiri, iaitu, bit tertinggi (Bit31) AccCode dan AccMask adalah sejajar dengan bit tertinggi nilai ID.
pInitConfig->AccMask Mengenai penjajaran ID rujuk lampiran: Lampiran I:
Butiran penjajaran ID.
Cth: Jika anda menetapkan nilai AccCode sebagai 0x24600000 (iaitu 0x123 dialihkan ke kiri sebanyak 21 bit), nilai AccMask
ditetapkan kepada 0x00000000, dan kemudian hanya paket dengan ID bingkai mesej CAN ialah 0x123 boleh diterima (nilai AccMask 0x00000000 menunjukkan bahawa semua bit adalah berkaitan
bit). Jika nilai AccCode ditetapkan kepada 0x24600000, nilai AccMask ditetapkan kepada 0x600000 (0x03 dialihkan ke kiri sebanyak 21 bit), dan kemudian hanya paket dengan ID bingkai mesej CAN ialah 0x120 ~ 0x123 boleh diterima (nilai AccMask
0x600000 menunjukkan bahawa selain daripada bit0 ~ bit1 bit lain (bit2 ~ bit10) adalah bit yang berkaitan).
Nota: Tetapan penapis ini examples kepada bingkai standard, contohnyaample, 11-bit tinggi ialah bit yang sah; dalam kes bingkai lanjutan, dan kemudian ID yang sah ialah 29-bit. AccCode dan AccMask menetapkan 29-bit tinggi sebagai bit yang sah!
pInitConfig->Terpelihara terpelihara
pInitConfig->Penapis Tetapan mod penapisan sila rujuk bahagian jadual mod penapis.
pInitConfig->Masa0 Tetapan kadar baudT0
pInitConfig->Masa1 Tetapan kadar baudT1
pInitConfig->Mod Mod operasi:
0-operasi biasa
1-Mod dengar sahaja
2-mod ujian kemasukan dan penghantaran secara spontan (nilai ini dikecualikan daripada pustaka fungsi ZLG)

Jadual mod penapis:

Nilai Nama Penerangan
1 Terima semua jenis Sesuai untuk kedua-dua bingkai standard dan lanjutan!
2 Hanya terima bingkai standard Sesuai untuk bingkai standard, dan dilanjutkan
bingkai akan dikeluarkan melalui penapisan terus!
3 Hanya terima bingkai lanjutan Sesuai untuk bingkai lanjutan, dan bingkai standard akan dialih keluar oleh
penapisan secara langsung! .

Pulangan:
Nilai pulangan = 1, yang bermaksud bahawa operasi berjaya; = 0 menunjukkan bahawa operasi gagal; = -1 menunjukkan bahawa peranti itu tidak wujud.
Cth

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 4

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 6

2.2.4. VCI_ReadBoardInfo
Fungsi ini digunakan untuk membaca maklumat perkakasan penyesuai. Secara umumnya, ia boleh diabaikan.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0. pInfo
VCI_BOARD_INFO digunakan untuk menyimpan penunjuk struktur maklumat peranti.
Pulangan:
Nilai pulangan = 1, yang bermaksud bahawa operasi berjaya; = 0 menunjukkan bahawa operasi gagal; = -1 menunjukkan bahawa peranti itu tidak wujud.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 7

2.2.5. VCI_GetReceiveNum
Fungsi ini digunakan untuk menentukan bingkai yang diterima tetapi belum dibaca dalam penimbal penerima yang ditetapkan.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0.
CANIndeks
CAN indeks saluran.
Pulangan:
Kembalikan bingkai yang belum dibaca.
Cth
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Fungsi ini digunakan untuk mengosongkan penimbal terima dan hantar bagi saluran yang ditetapkan yang ditentukan oleh
Penyesuai USB-CAN.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0.
CANIndeks
CAN indeks saluran.
Pulangan:
Nilai pulangan = 1, yang bermaksud bahawa operasi berjaya; = 0 menunjukkan bahawa operasi gagal; = -1 menunjukkan bahawa peranti itu tidak wujud.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 8

2.2.7. VCI_StartCAN
Fungsi ini digunakan untuk memulakan pengawal CAN dan fungsi penerimaan gangguan dalaman penyesuai.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0.
CANIndeks
CAN indeks saluran.
Pulangan:
Nilai pulangan = 1, yang bermaksud bahawa operasi berjaya; = 0 menunjukkan bahawa operasi gagal; = -1 menunjukkan bahawa peranti itu tidak wujud.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 9

2.2.8. VCI_ResetCAN
Fungsi ini digunakan untuk menetapkan semula pengawal CAN.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0.
CANIndeks
CAN indeks saluran.
Pulangan:
Nilai pulangan = 1, yang bermaksud bahawa operasi berjaya; = 0 menunjukkan bahawa operasi gagal; = -1 menunjukkan bahawa peranti itu tidak wujud.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 10

2.2.9. VCI_Transmit
Fungsi ini digunakan untuk menghantar bingkai mesej CAN.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0.
CANIndeks
CAN indeks saluran. pHantar
Alamat pertama tatasusunan bingkai data yang perlu dihantar.
Panjang
Bilangan bingkai data yang perlu dihantar, bilangan maksimum ialah 1000, nilai yang disyorkan ialah 48 di bawah kelajuan tinggi.
Pulangan:
Kembalikan bilangan sebenar bingkai yang telah dihantar, nilai pulangan = -1 menunjukkan ralat peranti.
Cth
WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 11

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 12

2.2.10. VCI_Terima
Fungsi ini digunakan untuk meminta penerimaan.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndeks, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0.
CANIndeks
CAN indeks saluran.
pTerima
Untuk menerima set penunjuk pertama bagi bingkai data.
Len
Panjang tatasusunan bingkai data mestilah lebih daripada 2500 untuk mengembalikan mesej biasa.
Jika tidak, panjang pemulangan akan menjadi sifar sama ada mesej diterima atau tidak. penyesuai menetapkan penimbal 2000 bingkai untuk setiap saluran. Berdasarkan sistem dan persekitaran kerjanya sendiri, pengguna boleh memilih panjang tatasusunan yang sesuai daripada 2500.
WaitTime Reserved.
Pulangan:
Kembalikan bilangan bingkai yang sebenarnya telah dibaca, -1 menunjukkan ralat peranti.
Cth
WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 13

BAHAGIAN TIGA FUNGSI LAIN DAN HURAIAN STRUKTUR DATA

Bab ini menerangkan jenis data dan fungsi lain pustaka antara muka ZLG yang tidak serasi yang terkandung dalam pustaka antara muka penyesuai USB-CAN ControlCAN.dll. Sila lakukan
jangan panggil fungsi ini jika menggunakan model ZLG yang serasi untuk pembangunan sekunder supaya tidak menjejaskan keserasian.
3.1 HURAIAN FUNGSI
3.1.1. VCI_UsbDeviceReset
Tetapkan semula penyesuai USB-CAN, perlu membuka semula peranti selepas ditetapkan semula dengan menggunakan VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserved
Parameter:
DevType
Jenis peranti. Lihat: Definisi jenis peranti penyesuai.
DevIndex
Indeks Peranti, contohnyaampOleh itu, apabila terdapat hanya satu penyesuai USB-CAN, nombor indeks ialah 0, apabila terdapat berbilang penyesuai USB-CAN, nombor indeks dalam susunan menaik bermula dari 0.
Terpelihara Terpelihara.
Pulangan:
Nilai pulangan = 1, yang bermaksud bahawa operasi berjaya; = 0 menunjukkan bahawa operasi gagal; = -1 menunjukkan bahawa peranti itu tidak wujud.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 14

bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Apabila PC yang sama menggunakan berbilang USB-CAN, pengguna boleh menggunakan fungsi ini untuk mencari peranti semasa.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parameter:
pInfo
pInfo digunakan untuk menyimpan parameter penuding alamat penimbal data pertama.
Pulangan
Kembalikan nombor penyesuai USB-CAN yang dipalamkan ke dalam komputer.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 15

Bahagian Empat Fungsi Perpustakaan Antaramuka Menggunakan Proses
Untuk mendarabkan fungsi peranti, kami menyediakan fungsi tambahan (fungsi yang dibentangkan dengan latar belakang hijau), fungsi ini termasuk: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Semasa pembangunan kedua, fungsi ini tidak semestinya digunakan. Malah fungsi ini diabaikan, semua fungsi penyesuai USB-CAN boleh dicapai.

WAVESHARE USB CAN Bus Inter face Adapter Interface Function Library - Rajah 16

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

Dokumen / Sumber

WAVESHARE USB-CAN Bus Inter face Adapter Interface Function Library [pdf] Manual Arahan
Perpustakaan Fungsi Antara Muka Penyesuai Antara Muka Bas USB-CAN, USB-CAN, Perpustakaan Fungsi Antara Muka Penyesuai Antara Muka Bas, Perpustakaan Fungsi Antara Muka, Perpustakaan Fungsi

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *