Логотип WAVESHAREИнтерфейс шины USB-CAN
Функция интерфейса адаптера
Инструкция пользователя библиотекиWAVESHARE Интерфейс USB CAN Bus Библиотека функций интерфейса адаптера

ЧАСТЬ ПЕРВАЯVIEW

Если пользователь просто использует адаптер интерфейса шины USB-CAN для проверки связи по шине CAN, то он может напрямую использовать прилагаемое программное обеспечение 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
Объявление функции версии Delphi 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 Bus — рис. 1

Член:
hw_Version
Номер версии аппаратного обеспечения, шестнадцатеричное представление. Например, 0x0100 представляет версию 1.00.
fw_Version
Номер версии аппаратного обеспечения, шестнадцатеричное представление. Например, 0x0100 представляет версию 1.00.
Страница 2
dr_Version

Номер версии драйвера в шестнадцатеричном формате. Например, 0x0100 представляет версию 1.00.
in_Version
Номер версии интерфейсной библиотеки в шестнадцатеричном формате. Например, 0x0100 представляет версию 1.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 Bus — рис.

Член:
ID
Идентификатор сообщения. Формат прямого идентификатора, выравнивание по правому краю, см.: Приложение XNUMX: Детали выравнивания идентификатора.
ВремяStamp
Получение ул.amp информация о таймфрейме, начало отсчета времени при инициализации CAN-контроллера, единица измерения 0 мс.
флаг времени
С точки зрения того, следует ли использовать время stamp, 1 — эффективная TimeStamp. TimeFlag и TimeStamp имеют смысл только тогда, когда получен кадр.
Тип отправки
Тип отправки. = 0 указывает обычный тип, = 1 указывает одиночную отправку.
удаленный флаг
Является ли это удаленным флагом. = 1 указывает удаленный флаг, = 0 указывает флаг данных.
Внешний флаг
Является ли это внешним флагом. = 1 указывает внешний флаг, = 0 указывает стандартный флаг.
ДатаЛен
Длина данных (<=8), то есть длина данных.
Данные
Пакетные данные.
Сдержанный
Система зарезервирована.
2.1.4. VCI_INIT_CONFIG
Структура VCI_INIT_CONFIG определяет конфигурацию инициализации CAN. Структура будет заполнена в функции VCI_InitCan.

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 2

Член:
АкКод
Получите отфильтрованный код принятия.
АкМаск
Получите маску фильтра.
Сдержанный
Сдержанный.
Фильтр
Метод фильтрации, позволяющий установить диапазон 0-3, подробности см. в разделе 2.2.3 таблицы режимов фильтрации.
Тайминг0
SJA1000 Параметр скорости передачи, Timing0 (BTR0) .
Тайминг1
SJA1000 Параметр скорости передачи, Timing1 (BTR1) .
Режим
Рабочий режим, 0 = нормальная работа, 1 = режим только прослушивания, 2 = самопроизвольный прием и тестовый режим отправки.
Замечания:
О настройках фильтра см.: Приложение II: Инструкции по настройке параметров CAN.
CAN Timing0 и Timing1 используются для установки скорости передачи, эти два параметра используются только при инициализации.tage.
Справочная таблица обычных бод:

CAN скорость передачи Время0(BTR0) Время1(BTR1)
10k бит/с 0x31 0x1C
20k бит/с 0x18 0x1C
40k бит/с 0x87 0xFF
50k бит/с 0x09 0x1C
80k бит/с 0x83 0xFF
100k бит/с 0x04 0x1C
125k бит/с 0x03 0x1C
200k бит/с 0x81 0xФА
250k бит/с 0x01 0x1C
400k бит/с 0x80 0xФА
500k бит/с 0x00 0x1C
666k бит/с 0x80 0xB6
800k бит/с 0x00 0x16
1000k бит/с 0x00 0x14
33.33 Кбит/с 0x09 0x6F
66.66 Кбит/с 0x04 0x6F
83.33 Кбит/с 0x03 0x6F
  1. Пользователям нужно только следовать SJA1000 (16 МГц), чтобы установить параметр скорости передачи.
  2. Адаптер временно не поддерживает скорость передачи данных ниже 10K.

2.2. ОПИСАНИЕ ФУНКЦИЙ
2.2.1. VCI_OpenDevice
Эта функция используется для подключения устройств.
DWORD __stdcall VCI_OpenDevice (DWORD DevType, DWORD DevIndex, DWORD зарезервировано);
Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерample, когда имеется только один адаптер USB-CAN, порядковый номер равен 0, когда имеется несколько адаптеров USB-CAN, порядковые номера в порядке возрастания, начиная с 0.
Сдержанный
Параметры удержания, заполните 0.
Возврат:
Возвращаемое значение = 1, что означает, что операция выполнена успешно; = 0 указывает, что операция не удалась; = -1 указывает, что устройство не существует.

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 3

2.2.2. VCI_CloseDevice
Эта функция используется для закрытия соединения.
DWORD __stdcall VCI_CloseDevice (DWORD DevType, DWORD DevIndex);
Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерample, когда имеется только один адаптер USB-CAN, порядковый номер равен 0, когда имеется несколько адаптеров USB-CAN, порядковые номера в порядке возрастания, начиная с 0.
Возврат:
Возвращаемое значение = 1, что означает, что операция выполнена успешно; = 0 указывает, что операция не удалась; = -1 указывает, что устройство не существует.

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 4

2.2.3. VCI_InitCan
Эта функция используется для инициализации указанного CAN.
DWORD __stdcall VCI_InitCAN (DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pinitConfig);

Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерample, когда имеется только один адаптер USB-CAN, порядковый номер равен 0, когда имеется несколько адаптеров USB-CAN, порядковые номера в порядке возрастания, начиная с 0.
CANIndex
Индекс канала CAN, например, когда имеется только один канал CAN, номер индекса равен 0, если их два, номер индекса может быть 0 или 1.
пинитконфиг
Структура параметров инициализации. Список параметров членов:

Член Функциональное описание
pInitConfig->АкКод AccCode и AccMask могут работать вместе, чтобы определить, какие пакеты могут быть приняты. Эти два регистра используются для установки идентификатора, выровненного по левому краю, то есть старший бит (бит 31) AccCode и AccMask выровнен со старшим битом значения идентификатора.
pInitConfig->AccMask О выравнивании ID см. приложения: Приложение I:
Детали выравнивания идентификатора.
Например: Если вы установите значение AccCode как 0x24600000 (т.е. 0x123 сдвинуто влево на 21 бит), значение AccMask
установлен на 0x00000000, и тогда могут быть приняты только пакеты с идентификатором кадра сообщения CAN, равным 0x123 (значение AccMask 0x00000000 указывает, что все биты релевантны
биты). Если значение AccCode установлено на 0x24600000, значение AccMask установлено на 0x600000 (0x03 сдвинуто влево на 21 бит), и тогда могут быть приняты только пакеты с идентификатором кадра сообщения CAN 0x120 ~ 0x123 (значение AccMask
0x600000 указывает, что помимо бит0 ~ бит1 другие биты (бит2 ~ бит10) являются релевантными битами).
Примечание: Эта настройка фильтра exampфайлы в стандартную рамку, напримерample, старший 11-бит является действительным битом; в случае расширенного кадра, и тогда действительный идентификатор является 29-битным. AccCode и AccMask устанавливают старшие 29 бит в качестве допустимого бита!
pInitConfig->Зарезервировано сдержанный
pInitConfig->Фильтр Настройки режима фильтрации см. в разделе таблицы режимов фильтрации.
pInitConfig->Время0 Настройка скорости передачи T0
pInitConfig->Время1 Настройка скорости передачи T1
pInitConfig->Режим Режим работы:
0-нормальная работа
1-режим только прослушивания
2-самопроизвольный прием и тестовый режим отправки (данное значение исключено из библиотеки функций ZLG)

Таблица режимов фильтрации:

Ценить Имя Описание
1 Получить все типы Подходит как для стандартной, так и для удлиненной рамы!
2 Только получить стандартную рамку Подходит для стандартной рамы и расширенной
кадр будет удален фильтрацией напрямую!
3 Принимать только расширенный кадр Подходит для удлиненной рамы, а стандартная рама будет удалена
фильтрация напрямую! 。

Возврат:
Возвращаемое значение = 1, что означает, что операция выполнена успешно; = 0 указывает, что операция не удалась; = -1 указывает, что устройство не существует.
Например

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 4

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 6

2.2.4. VCI_ReadBoardInfo
Эта функция используется для считывания информации об аппаратном обеспечении адаптера. В общем, на это можно не обращать внимания.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерample, если имеется только один адаптер USB-CAN, порядковый номер равен 0, если имеется несколько адаптеров USB-CAN, порядковые номера в порядке возрастания, начиная с 0. pInfo
VCI_BOARD_INFO используется для хранения указателя структуры информации об устройстве.
Возврат:
Возвращаемое значение = 1, что означает, что операция выполнена успешно; = 0 указывает, что операция не удалась; = -1 указывает, что устройство не существует.

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 7

2.2.5. VCI_GetReceiveNum
Эта функция используется для указания принятых, но не прочитанных кадров в указанном приемном буфере.
DWORD __stdcall VCI_GetReceiveNum (DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерampНапример, при наличии только одного адаптера USB-CAN порядковый номер равен 0, при наличии нескольких адаптеров USB-CAN порядковые номера в порядке возрастания, начиная с 0.
CANIndex
Индекс канала 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);
Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерampНапример, при наличии только одного адаптера USB-CAN порядковый номер равен 0, при наличии нескольких адаптеров USB-CAN порядковые номера в порядке возрастания, начиная с 0.
CANIndex
Индекс канала CAN.
Возврат:
Возвращаемое значение = 1, что означает, что операция выполнена успешно; = 0 указывает, что операция не удалась; = -1 указывает, что устройство не существует.

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 8

2.2.7. VCI_StartCAN
Эта функция используется для запуска CAN-контроллера и функции приема внутренних прерываний адаптера.
DWORD __stdcall VCI_StartCAN (DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерample, когда имеется только один адаптер USB-CAN, порядковый номер равен 0, когда имеется несколько адаптеров USB-CAN, порядковые номера в порядке возрастания, начиная с 0.
CANIndex
Индекс канала CAN.
Возврат:
Возвращаемое значение = 1, что означает, что операция выполнена успешно; = 0 указывает, что операция не удалась; = -1 указывает, что устройство не существует.

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 9

2.2.8. VCI_ResetCAN
Эта функция используется для сброса CAN-контроллера.
DWORD __stdcall VCI_ResetCAN (DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерample, когда имеется только один адаптер USB-CAN, порядковый номер равен 0, когда имеется несколько адаптеров USB-CAN, порядковые номера в порядке возрастания, начиная с 0.
CANIndex
Индекс канала CAN.
Возврат:
Возвращаемое значение = 1, что означает, что операция выполнена успешно; = 0 указывает, что операция не удалась; = -1 указывает, что устройство не существует.

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 10

2.2.9. VCI_Передача
Эта функция используется для отправки кадра сообщения CAN.
DWORD __stdcall VCI_Transmit (DWORD DeviceType, DWORD DeviceInd, DWORD CANInd, PVCI_CAN_OBJ pSend, DWORD Length);
Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерample, когда имеется только один адаптер USB-CAN, порядковый номер равен 0, когда имеется несколько адаптеров USB-CAN, порядковые номера в порядке возрастания, начиная с 0.
CANIndex
Индекс канала CAN. pОтправить
Первый адрес массивов кадров данных, которые должны быть отправлены.
Длина
Количество кадров данных, которые должны быть отправлены, максимальное количество — 1000, рекомендуемое значение — 48 при высокой скорости.
Возврат:
Возвращает фактическое количество уже отправленных кадров, возвращаемое значение = -1 указывает на ошибку устройства.
Например
Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 11

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 12

2.2.10. VCI_Receive
Эта функция используется для запроса приема.
DWORD __stdcall VCI_Receive (DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерample, когда имеется только один адаптер USB-CAN, порядковый номер равен 0, когда имеется несколько адаптеров USB-CAN, порядковые номера в порядке возрастания, начиная с 0.
CANIndex
Индекс канала CAN.
pПолучить
Для получения первого указателя набора кадров данных.
Лен
Длина массива кадра данных должна быть больше 2500, чтобы возвращалось нормальное сообщение.
В противном случае возвращаемая длина будет равна нулю независимо от того, получено сообщение или нет. адаптер установил буфер на 2000 кадров для каждого канала. Исходя из своей системы и рабочей среды, пользователь может выбрать подходящую длину массива от 2500.
Время ожидания зарезервировано.
Возврат:
Возвращает количество кадров, которые были фактически прочитаны, -1 указывает на ошибки устройства.
Например
Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 13

ЧАСТЬ ТРЕТЬЯ ДРУГИЕ ФУНКЦИИ И СТРУКТУРА ДАННЫХ ОПИСАНИЕ

В этой главе описаны другие типы данных и функции несовместимой библиотеки интерфейса ZLG, содержащейся в библиотеке интерфейса адаптера USB-CAN ControlCAN.dll. Пожалуйста, сделай
не вызывайте эти функции, если используете совместимую модель ZLG для вторичной разработки, чтобы не влиять на совместимость.
3.1 ОПИСАНИЕ ФУНКЦИИ
3.1.1. VCI_UsbDeviceReset
Сброс адаптера USB-CAN, необходимо повторно открыть устройство после сброса с помощью VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset (DWORD DevType, DWORD DevIndex, DWORD зарезервировано
Параметры:
Тип разработчика
Тип устройства. См.: Определение типа устройства-адаптера.
Девиндекс
Индекс устройства, напримерample, когда имеется только один адаптер USB-CAN, порядковый номер равен 0, когда имеется несколько адаптеров USB-CAN, порядковые номера в порядке возрастания, начиная с 0.
Зарезервировано Зарезервировано.
Возврат:
Возвращаемое значение = 1, что означает, что операция выполнена успешно; = 0 указывает, что операция не удалась; = -1 указывает, что устройство не существует.

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 14

bRel = VCI_UsbDeviceReset (nDeviceType, Независимость, 0);
3.1.2. VCI_FindUsbDevice2
Когда один и тот же ПК использует несколько USB-CAN, пользователь может использовать эту функцию для поиска текущего устройства.
DWORD __stdcall VCI_FindUsbDevice2 (PVCI_BOARD_INFO pInfo);
Параметры:
pИнформация
pInfo используется для хранения параметров указателя адреса первого буфера данных.
Возвраты
Вернуть номер адаптера USB-CAN, подключенного к компьютеру.

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 15

Часть четвертая. Функции библиотеки интерфейса, использующие процесс
Чтобы расширить возможности устройства, мы предоставили дополнительные функции (функции, отмеченные зеленым фоном), в число которых входят: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Во время второй разработки эти функции не обязательно вызывать. Даже если эти функции игнорируются, все функции адаптера USB-CAN могут быть реализованы.

Библиотека функций интерфейса адаптера WAVESHARE USB CAN Bus — рис. 16

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

Документы/Ресурсы

WAVESHARE Интерфейс шины USB-CAN Библиотека функций интерфейса адаптера [pdf] Руководство по эксплуатации
Библиотека функций интерфейса адаптера интерфейса шины USB-CAN, USB-CAN, Библиотека функций интерфейса адаптера шины, Библиотека функций интерфейса, Библиотека функций

Ссылки

Оставьте комментарий

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены *