Обсуждаем контроллеры компании Atmel.
Сб янв 04, 2020 16:15:01
Доброго времени суток!
На одном мк mega16 по UART организована связь ModBusRTU (мастер) и SPI (мастер) для обмена данными со вторым мк mega8А.
На втором мк помимо SPI организовано на UART ModBusRTU(слейв).
Проблема вот какая, на втором мк при запуске без UART обмен данными с первым мк работает нормально, но стоит включить UART рушится SPI и наоборот.
Сб янв 04, 2020 16:41:32
Общие для двух функций глобальные переменные и работа на прерываниях?
Сб янв 04, 2020 16:43:57
Глобальные переменные раздельные. Работа по прерыванию.
Сб янв 04, 2020 16:48:23
Аппаратные модули SPI и UART разные. Поэтому остается только порча данных при работе одного модуля (SPI передает данные, UART изменяет передаваемые по SPI данные и CRC не совпадает - как пример) другим.
Сб янв 04, 2020 19:13:10
Я понимаю что модули разные. Регистры и массивы данных у меня для этих модулей разные ни где не пересекаются, если только в отдельной функции копируются(но я ее отключил). Какие еще есть идеи?
Добавлено after 1 hour 48 minutes 36 seconds:
Вопрос решен. Заходил не в ту функцию активировал не в тот момент прерывание при опустошении регистра UART. Пришлось еще один флаг ввести.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.