Проблема с функцией shiftIn

Тема в разделе "Микроконтроллеры AVR", создана пользователем elarm, 25 дек 2016.

  1. elarm

    elarm Нуб

    Прокачал этот вариант решения. Радикально не подходит. Число передаётся, но только если корпуса соединены по кольцу TX-RX-TX...
    Мне нужно корпуса соединить гирляндой. Число должно передаваться только от предстоящего соседа к следующему. Нельзя делать шину с мастером. Сигнал должен идти эстафетой с одного корпуса к другому. Поэтому, в каждом корпусе должен быть явный вход и явный выход.
    Мне нельзя смешивать каналы приёмо-передачи разных звеньев!
     
  2. mcureenab

    mcureenab Гуру

    А пробовал их в кольцо соединять или в цепочку? TX первой на RX второй, TX второй на RX третьей и т.д.
    По идее объект Serial тогда должен будет читать байты с одной ардуины, а отправлять на другую.
    Фактически UART это один передатчик (TX) и один приемник (RX). Они могут работать одновременно и независимо. Общее у них настройка скорости, т.п.. Т.е. прием и передача может проходить только с одинаковыми настройками.
    Если так не заработает, можно для передачи Serial1 (если он есть) задействовать или программную реализацию UART.
     
    elarm нравится это.
  3. elarm

    elarm Нуб

    Принято!
    Спасибо! Я тогда заглублюсь в эти эксперименты.
    Теперь на счёт скорости передачи по TX-RX. Не совсем в тему, но вопрос этот на следующем этапе предстоит решать. Видеосигнал с камеры -- он тоже сериальный. Потянет такой канал в ATMEG-e? Там частота синхросерии ~14 MHz. Соответственно, -- два байта на пиксель будут этой частотой сопровождаться.
     
    Последнее редактирование: 27 дек 2016
  4. mcureenab

    mcureenab Гуру

    Нет. И вообще это не для Ардуины задача. У нее процессор на такой частоте работает. На ардуине даже для воспроизведения mp3 специальный модуль используется с SD картой и кодеком.
     
    elarm нравится это.