MicroPython:Библиотеки/pyb/Класс CAN/CAN.setfilter()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


CAN.setfilter(bank, mode, fifo, params, *, rtr)[1]

CAN.setfilter(bank, mode, fifo, params, *, rtr)  настраивает банк фильтров:
  • bank – банк фильтров, который нужно настроить.
  • mode – режим, в котором должен работать фильтр.
  • fifo – в какой FIFO (0 или 1) нужно сохранить сообщение, если оно будет принято фильтром.
  • params – массив значений, задающих фильтр. Содержимое этого массива зависит от аргумента mode.
Режим Содержимое массива «params»
CAN.LIST16 Четыре разрешенных 16-битных ID.
CAN.LIST32 Два разрешенных 32-битных ID.
CAN.MASK16

Две пары 16-битных масок. Например, (1, 3, 4, 4).

  1. Первая пара (1 и 3) пропускает все ID, у которых бит 0 равен 1, а бит 1 равен 0.
  2. Вторая пара (4 и 4) пропускает все ID, у которых бит 2 равен 1.
CAN.MASK32 То же самое, что и в CAN.MASK16, только с одной парой 32-битных масок.
  • rtr – это массив булевых значений, которые сообщают о том, должен ли фильтр разрешать сообщения с запросами об удаленной передаче данных. Если этот аргумент задан не будет, то по умолчанию во всех элементах будет стоять False. Размер массива зависит от аргумента mode.
Режим Размер массива «rtr»
CAN.LIST16 4
CAN.LIST32 2
CAN.MASK16 2
CAN.MASK32 1

См.также

Внешние ссылки