CAN-200  1.3.0
Функции
Функции для работы с платой в режиме BasicCAN

Функции

int CAN200_B_SetInputFilter (HANDLE Handle, int Channel, bFilter_t *filter)
 Настройка фильтра входных кадров для режима BasicCAN. Подробнее...
 
int CAN200_B_GetInputFilter (HANDLE Handle, int Channel, bFilter_t *filter)
 Получение фильтра входных кадров для режима BasicCAN. Подробнее...
 

Подробное описание

Функции

◆ CAN200_B_GetInputFilter()

int CAN200_B_GetInputFilter ( HANDLE  Handle,
int  Channel,
bFilter_t filter 
)

Получение фильтра входных кадров для режима BasicCAN.

Функция позволяет получить текущие настройки фильтра входных кадров для режима BasicCAN (для одного из каналов)

Аргументы
Handle(IN) Хэндл платы (возвращенный функцией CAN200_Open)
Channel(IN) Номер канала платы
filter(IN) Указатель на структуру bFilter_t, где будет сохранено описание фильтра
Возвращает
CAN200_OK - успешное завершение
CAN200_ERR_PARM - ошибка входных параметров
CAN200_ERR_MODE - режим работы канала не соответствует BasicCAN
CAN200_ERR_SYS - системная ошибка (для определения причины используйте (GetLastError())

◆ CAN200_B_SetInputFilter()

int CAN200_B_SetInputFilter ( HANDLE  Handle,
int  Channel,
bFilter_t filter 
)

Настройка фильтра входных кадров для режима BasicCAN.

Функция позволяет настроить фильтр входных кадров для режима BasicCAN (для одного из каналов)

Аргументы
Handle(IN) Хэндл платы (возвращенный функцией CAN200_Open)
Channel(IN) Номер канала платы
filter(IN) Указатель на структуру bFilter_t с описанием фильтра
Возвращает
CAN200_OK - успешное завершение
CAN200_ERR_PARM - ошибка входных параметров
CAN200_ERR_MODE - режим работы канала не соответствует BasicCAN
CAN200_ERR_SYS - системная ошибка (для определения причины используйте (GetLastError())
Функционирование входного фильтра в режиме BasicCAN.
Таблица, поясняющая функционирование входного фильтра
Бит
10 9 8 7 6 5 4 3 2 1 0
Идентификатор кадра 1 0 1 0 1 0 1 0 1 0 1
 
Бит
7 6 5 4 3 2 1 0
Маска 1 1 1 1 0 0 0 0
Идентификатор входного фильтра x x x x 1 0 1 0
Результат сравнения 1 1 1 1 1 1 1 1
х – любое значение.

Входной фильтр функционирует следующим образом: Биты 3-10 идентификатора кадра сравниваются на идентичность (поразрядно) с идентификатором входного фильтра. Если в соответствующем разряде маски стоит логическая 1, то биты идентификатора кадра и идентификатора входного фильтра в этом разряде не сравниваются и результат сравнения в данном разряде принимается равным логической 1. Кадр проходит приемный фильтр, если результат сравнения во всех разрядах содержит логические 1.

Пример:

В таблице выше показан пример сравнения идентификатора кадра в приёмном фильтре. Результат сравнения положительный и кадр будет записан в буфер приёма.

Заметки
Для приема всех кадров необходимо установить маску равную FFh (значение идентификатора входного фильтра можно установить любое).

CAN-200 documentation. Copyright (c) 2012 - 2017 Elcus Corporation. All rights reserved.