Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 127
1

CAN фильтр, смена "на ходу" возможна?

29.06.2016, 02:55. Показов 3226. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При старте задаю фильтр "принимать для всех 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2016, 02:55
Ответы с готовыми решениями:

Как возможна автоматическая смена IP?
Всем привет! У меня всю жизнь стоял статический IP(около 15-ти лет), сейчас я открыл историю...

Компиляция на ходу
Здравствуйте, возник такой вопрос. Можно ли на ходу из программы скомпилировать новую, записав...

Фильтр по форме по нескольким логическим полям с использованием кнопки Общий фильтр
Здравствуйте! Есть простая таблица и созданная форма. Идея в том, чтобы ставя галки осуществлять...

По ходу проблема с винтом
Проблема такая, слетела винда, в биосе винчестер определяется, а вот при установке когда нужно...

2
0 / 0 / 0
Регистрация: 10.06.2016
Сообщений: 27
29.06.2016, 11:06 2
Цитата Сообщение от RikoD
Вопрос: можно ли перепрограммировать этот же фильтр "на лету" по приёму некой команды в CAN Rx прерывании? он сразу активен становится?
Не пробовал, но думаю, что возможно.
Однако я бы для такой задачи настроил бы несколько фильтров, и при приходе соответсвующего флага, выключал/включал фильтр, настроенный на пропуск всех сообщений.
При обработке сообщений в данном случае, не забывайте о приоритете фильтра.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 14
29.06.2016, 14:13 3
Да, такое возможно, в общем то эти фильтры нормально на лету настраиваются
0
29.06.2016, 14:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2016, 14:13
Помогаю со студенческими работами здесь

Создание директивы на ходу
Нужна директива #define которая могла бы создаться по ходу исполнения программы, а именно...

цикл...и по ходу бесконечный...
У меня такая проблема дали курсовую 3 задания сделал а вот одно не могу никак сделать...я даже не...

Почему фильтр ФНЧ фильтр не фильтрует сигнал?
clear all; clc; N = 100; % длина последовательности z = randint(1,N) % случайные данные ...

Как управлять ботом по ходу
Доброй ночи, подскажите пожалуйста, у меня есть бот, с ним общаются все хорошо, общение вижу в...

Создание объектов по ходу программы
Хаи гайсы. Давно мыслил над тем как создаются объекты прямо по ходу программы. Так вот столкнулся с...

Синий экран по-ходу переустановки Хп
Ребят,помогите разобраться.Пришел к знакомому перестанавливать виндовс,вроде сначала все шло...

Процессор загружен на 50% на холостом ходу
Windows 7 Ultimate 64 bit. В диспетчере задач систему грузят два процесса svchost.exe Хост процесс...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru