Уведомления
Очистить все
Здравствуйте, столкнулся с непонятной проблемой: запустил CAN1 по вашей статье (STM32 и протокол CAN. Настройка в STM32CubeMx). Все работает стабильно и правильно.
Делаю один в один но не через CAN1, а через CAN2 - не срабатывает колбэк по приему данных:
HAL_CAN_RxFifo0MsgPendingCallback()
На плате все проверил, прозвонил - не нашел проблемы. На самом деле уже все перепроверил что только можно, даже идей больше нет, поэтому решил создать тему.
Заранее благодарю всех, кто откликнется 🙂
Создатель темы Размещено : 04.09.2024 00:39
Доброго времени суток, а настройка фильтрации как выглядит?
Размещено : 04.09.2024 10:33
@aveal Как в статье, только для CAN2:
CAN_FilterTypeDef canFilterConfig; canFilterConfig.FilterBank = 0; canFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK; canFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT; canFilterConfig.FilterIdHigh = 0x0000; canFilterConfig.FilterIdLow = 0x0000; canFilterConfig.FilterMaskIdHigh = 0x0000; canFilterConfig.FilterMaskIdLow = 0x0000; canFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0; canFilterConfig.FilterActivation = ENABLE; canFilterConfig.SlaveStartFilterBank = 14; HAL_CAN_ConfigFilter(&hcan2, &canFilterConfig);
Создатель темы Размещено : 04.09.2024 12:26
Прием заработал, спасибо за быстрый ответ, можно дальше работать с проектом 🙂
Создатель темы Размещено : 04.09.2024 17:00