Перейти к содержанию
    

Не проходит инициализация CAN Stm32

На плате NUCLEO-F446RE( STM32F446RE) CAN2 работает, а CAN1 ошибка инициализации при одинаковом коде, хоть в Кубике, хоть ручками. Есть идеи почему не работает CAN1?

Изменено пользователем ovn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 минут назад, ovn сказал:

А без шуток?

А какие тут могут быть шутки, когда

Цитата

...ошибка инициализации при одинаковом коде...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, Arlleex сказал:

А какие тут могут быть шутки, когда

Полистайте топик вверх: Для ТС нет разницы не то что между 1 и 2, но даже между разными МК.

Поэтому не удивительно что у него не работает. :unknw:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У STM32F103С8 один контроллер CAN, ещё и общее с USB прерывание, у STM32F446RE два контроллера CAN, CAN2 работает принимает-посылает, CAN1 ошибка инициализации такая же как в самом начале темы, т. е. причины проблемы не понятны, тактовый генератор стартует, флаг выставляется, код инициализации контроллеров идентичен(1 != 2 млять, естественно дескрипторы контроллеров и структуры разные). Похоже никто не может ответить почему, никто с этим не сталкивался. Ясно, что Кубик сам по себе глючный, хотя SPI флешка с использованием стандартных настроек Кубика и API функций HAL(см. соседнюю тему) заработала сразу.

Изменено пользователем ovn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да конечно не сталкивался, потому что только Вам и никому более не известно, что Вы там ковыряете и что там у Вас в коде нагенерировалось. У меня что на F429 оба CAN-а работают, что на F446. Код накатан без экосистемы куба, поэтому чем он отличается от Вашего я без понятия, как и Вы (это должно быть очевидно). Проверяйте схемы синхронизации периферии, везде ли правильные делители, везде ли правильно настроены GPIO; в конце концов, нет ли соплей между Rx/Tx, да и вообще есть ли контакт с нужных GPIO на Rx/Tx приемопередатчика. А то на отладочных платах любят 0-резисторами (отсутствующими по дефолту) подключаться к штырям.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 часов назад, Arlleex сказал:

Да конечно не сталкивался, потому что только Вам и никому более не известно, что Вы там ковыряете и что там у Вас в коде нагенерировалось. У меня что на F429 оба CAN-а работают, что на F446. Код накатан без экосистемы куба, поэтому чем он отличается от Вашего я без понятия, как и Вы (это должно быть очевидно). Проверяйте схемы синхронизации периферии, везде ли правильные делители, везде ли правильно настроены GPIO; в конце концов, нет ли соплей между Rx/Tx, да и вообще есть ли контакт с нужных GPIO на Rx/Tx приемопередатчика. А то на отладочных платах любят 0-резисторами (отсутствующими по дефолту) подключаться к штырям.

Проблема вроде не в PHY(физическом уровне).

https://stackoverflow.com/questions/64840408/cannot-exit-sleep-mode-of-bxcan-on-stm32f429igt-in-loopback-mode

 

ан...нет

 

https://www.cyberforum.ru/arm/thread2011314-page2.html

Решение:

"Если нет трансивера и хочется погонять Сайлент лупбек то подтяните софтово ножку тх (или Rx) не помню к 3.3 и все будет ок. Иначе Кан не стартанёт"

 

 

Подтянул RX CAN1 GPIO Pull-up, и инициализация прошла, а на CAN2 работает без подтяжки.  Чудны дела твои, Господи. 

 

Изменено пользователем ovn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 минуты назад, Arlleex сказал:

У Вас что, Loopback-mode? Вы на реальной сети проверяете или как?

Изначально, на STM32F103C8, вопрос был про  Loopback-mode, не проходит инициализация, уже потом, когда заработало, в этом режиме, подключал физику. 

В общем, контроллер CAN тут сделан так, что он не работает без PHY(физики), хоть в Normal, хоть в Loopback, ему нужен приёмопередатчик, который RX подтянет к логической единице, если его нет, надо софтово подтягивать. 

Интересно, в RM про это написано?

Изменено пользователем ovn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...