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

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.