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

igler_u

Новичок
  • Постов

    4
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. 1986ВЕ92 заводил около 6 абонентов на I2C. Работало. Было это наверное еще в 2017 году. Но с I2C в принципе пришлось повозится - немного пришлось внести правок в библиотечную функцию и поотлаживать через логический анализатор (точно не помню, но возможно и сами абоненты тоже не всегда предсказуемо себя вели - некоторые бывало частично не запускались, это касается например, BME280). Также были свои особенности с FreeRTOS - без объявления в определенных местах критических секций данные по I2C приходили некорректные. В итоге пришлось немного пожертвовать общей надежностью, но все работало. А чтобы сделать хорошо, надо развивать свои компетенции далее.
  2. STM32F2 CAN2

    для stm32f105 точно надо затактировать CAN1, чтобы CAN2 мог работать на приём (и при этом не забыть настроить фильтры (для CAN2 это с 14 по 27)). Могу предположить, что для f2xx аналогично.
  3. заработало и у меня Изначальная проблема была - запустить CAN2 (на stm32f105rc/vc), который при настройках, аналогичных CAN1, работать отказывался... При экспериментах выяснилось, что CAN2 работает только на отправку. Принять на него что-либо не получается, при этом передающая сторона докладывает, что всё отправлено, все OK. Для решения проблемы необходимо произвести дополнительные настройки: - первым делом при настройке второго CAN нужно затактировать CAN1! - далее (как говорилось ранее/выше) нужно настроить фильтры под второй CAN: в структуре инициализации параметр CAN_FilterNumber для CAN2 должен иметь номер с 14 по 27. альтернативно - использовать функцию CAN_SlaveStartBank(номер нужного фильтра), которая изменяет номер начального фильтр для CAN2. Регистры фильтров у CAN1 и CAN2 общие, и настраиваются они в CAN1 (для этого он должен быть затактирован). При этом в окне регистров CAN2 (в Keil) флаг FINIT - режим инициализации фильтров, в котором приём не активен! - будет находится в установленном состоянии (то есть что-то не то показыавется). Видимо, так как настройки фильтров общие, смотреть их для CAN2 нужно в настройках для CAN1.
  4. вот обозначат тему, попросят помочь... кто-то время уделит, подскажет, поможет... вопрос разрешиться...А решение рассказать другим?! Дык нет ведь - надо написать что "всё работает" и всё. Эгоистично как-то ((( Придется дальше время поубивать на поиски решения. AlexandrY и cebotor - спасибо за подсказку
×
×
  • Создать...