STM32 / CAN |
![]() |
![]() |
| Векторизован | Си | |
в палитре | на схеме |
Блок "Инициализация фильтра контроллера CAN" производит настройку приема пакетов по CAN интерфейсу.
Блок формирует фильтр, это необходимо для получения пакетов с данными по CAN интерфейсу. У каждого модуля CAN есть 14 фильтров. У F103 один модуль CAN соответственно у него 14 фильтров с 0 по 13. Камни в которых есть два модуля CAN имеют в наличии 28 фильтров, с 0 по 13 для CAN_1, и с 14 по 28 для CAN_2. Каждый фильтр называется «банком» и имеет порядковый номер.
sort_block - порт сортировки.
Название | Имя | Описание | По умолчанию |
---|---|---|---|
Банк фильтра | FilterBank | Каждый фильтр называется «банком» и имеет порядковый номер. См. документацию по МК STM32 | 0 |
ID сообщения старшая часть | FilterIdHigh | Значения FilterIdHigh и FilterIdLow определяют идентификатор, с которым будет сравниваться ID принятого сообщения.См. документацию по МК STM32 | 0 |
ID сообщения младшая часть | FilterIdLow | См. документацию по МК STM32 | 0 |
Маска фильтра старшая часть | FilterMaskIdHigh | FilterMaskIdHigh и FilterMaskIdLow отвечают за битовую маску, которая, в свою очередь, определяет, какие биты идентификатора будут проверяться, а какие – нет. Единица в маске означает, что бит, который соответствует положению этой единицы, будет проверен. | 0 |
Выбор контроллера CAN | CAN_NUM | Номер контроллера для передачи данных (CAN1 или CAN2). См. документацию по МК STM32 | CAN1 | CAN2 |
Тип фильтра | FilterMode | См. документацию по МК STM32 | CAN_FILTERMODE_IDMASK | CAN_FILTERMODE_IDLIST |
Масштаб фильтра | FilterScale | См. документацию по МК STM32 | CAN_FILTERSCALE_16BIT | CAN_FILTERSCALE_32BIT |
Буфер FIFO | FilterFIFOAssignment | У приёмника есть два независимых буфера (RX_FIFO_0 и RX_FIFO_1), можно пользоваться одним буфером или обоими. Какие сообщения будут попадать в нулевой или в первый буфер зависит от настроек фильтров. Каждый из буферов разделён на три ячейки, называющиеся почтовыми ящиками. Каждый почтовый ящик может хранить одно сообщение. См. документацию по МК STM32 | CAN_RX_FIFO0 | CAN_RX_FIFO1 |
Активировать фильтр | FilterActivation | Активация фильтра. | ENABLE | DISABLE |
Блок не имеет параметров.
Примеры работы с контроллером CAN приведены в примерах: