0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 127
|
|
1 | |
CAN фильтр, смена "на ходу" возможна?29.06.2016, 02:55. Показов 3226. Ответов 2
Метки нет (Все метки)
При старте задаю фильтр "принимать для всех CAN ID", вот так:
Код
CAN_FilterConfTypeDef canFilterConfig; canFilterConfig.FilterNumber = 0; canFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK; canFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT; canFilterConfig.FilterIdHigh = 0x0000; canFilterConfig.FilterIdLow = 0x0000; canFilterConfig.FilterMaskIdHigh = 0x0000 << 5; canFilterConfig.FilterMaskIdLow = 0x0000; canFilterConfig.FilterFIFOAssyknment = 0; canFilterConfig.FilterActivation = ENABLE; canFilterConfig.BankNumber = 0; HAL_CAN_ConfigFilter(&hcan1, &canFilterConfig); Но затем при приёме некоторых команд по CAN Rx прерыванию надо бы этот фильтр перезадавать (не принимать от всех CAN ID). Вопрос: можно ли перепрограммировать этот же фильтр "на лету" по приёму некой команды в CAN Rx прерывании? он сразу активен становится?
0
|
29.06.2016, 02:55 | |
Ответы с готовыми решениями:
2
Как возможна автоматическая смена IP? Компиляция на ходу Фильтр по форме по нескольким логическим полям с использованием кнопки Общий фильтр По ходу проблема с винтом |
0 / 0 / 0
Регистрация: 10.06.2016
Сообщений: 27
|
|
29.06.2016, 11:06 | 2 |
Сообщение от RikoD
Однако я бы для такой задачи настроил бы несколько фильтров, и при приходе соответсвующего флага, выключал/включал фильтр, настроенный на пропуск всех сообщений. При обработке сообщений в данном случае, не забывайте о приоритете фильтра.
0
|
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 14
|
|
29.06.2016, 14:13 | 3 |
Да, такое возможно, в общем то эти фильтры нормально на лету настраиваются
0
|
29.06.2016, 14:13 | |
29.06.2016, 14:13 | |
Помогаю со студенческими работами здесь
3
Создание директивы на ходу цикл...и по ходу бесконечный... Почему фильтр ФНЧ фильтр не фильтрует сигнал? Как управлять ботом по ходу Создание объектов по ходу программы Синий экран по-ходу переустановки Хп Процессор загружен на 50% на холостом ходу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |