SerialEvent работает на нано, но не работает на mega

я уже спать хочу. буду на сегодня закругляться. вместо нано подключил usb свисток - с него все работает. Те вместо нано я сам из консоли отправлял символы на мегу и они приходили.

страно, что нано и уно переваривают одноплатник без проблем.

вот таким конверитором пользовался. через него нано работал без проблем.

Ок. Я - в Хайфе, тут часовой пояс такой же, как в Москве.
Завтра продолжим, у меня хофеш… это по русски отпуск/выходной/каникулы.

Важно получить на Меге прием от устройства, не от свистка. Дальше можно делать конвертер уровней. Осликом нужно посмотреть уровни на разъеме. Я просто такое сам уже видел и именно с мегой про. :wink:

Спасибо! отпуск это всегда хорошо!

я до этого делал конвертер на 74lvc125 тоже для меги под карту памяти. может через него еще попробовать завтра?

Я бы начал с того, чтобы выставить фьюзы по умолчанию в AVRDUDE через USBasp

Нужно уровни посмотеть на разъеме, без этого не ясно, что править. Неси осциллограф с работы и расскажешь, что увидел.
Но сперва проверь с Нанкой, как я выше написал.

сделал. все работает.

еще раз пробовал воткнуть между мегой и оранжом 3.3to5 конвертер - не хочет.

У меня работает следующим образом (нарисовать нет возможности, на словах) Тх оранж подключен на Rx меги напрямую, Rx оранж подтянут через 10к резистор к плюс 3,3 и через диод подключен к Тх меги, минусом к меге. Диод желательно Шоттки.
Попробуйте. Только используйте не 0 UART на меге, всё таки преобразователь может вносить свои бяки.

там стандартно сделано, как и на нано, А У НЕГО на НАНО РАБОТАЛО, ЧУДЕСА
ЗЫ нано от меги отличаются загрузчиком, я бы попробовал на мегу залить другой загрузчик, от megaCore к примеру

от меги на оранж все приходит. от оранжа на мегу не приходит. вот в чем загвоздка.
те почему-то от tx оранжа не приходит на rx меги… чудеса чудесатые. при этом на надо или уно все приходит…

На rx меги какой? 0, 1, 2? Мега с перемычкой сама на себя работает?
Не охота перечитывать 70 постов.

Вот вот… Можно так проверить. Перемычку сделать между RX1 и TX1

Спойлер
void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);
  delay(300);
}

void loop() {
  static byte num = '0';
  Serial1.write(num);
  while (!Serial1.available());      //
    Serial.write(Serial1.read());   //
    num++;
    delay(500);
    Serial.write(' ');
    if(num > '9')
    num = '0';
}

пробовал на 0,1 и 2… перемычка работает, а так же по совету товарища выше связывал мегуи нано - работает.

Короче проблема решена. напишу решение ниже, возможно кому-то поможет, тк прочитал много буржуинских форумов, на которых жаловались на точно такое-же поведение именно меги при сопряжении с другими устройствами по уарт.
проблема была исключительно аппаратного характера.
Я пропустил ТХ оранжа через 74LVC125A на RX меги и все сразу заработало.
Насколько помню, у меги и всех 5в ардуин логическая единица начинается от 1,7 (вроде) вольт, те 3.3 на входе однозначно должны трактоваться как “1”, но это почему-то не происходит… и в то же время эти самые 3.3В без проблем распознаются наной или уной…Объяснить это кроме как внутреними особенностями архитектуры МК (конкретно меги) я не могу.
Так же вспоминаю, что делал один проект - там был картридер ид ля него я использовал как раз 74LVC125 для согласования уровней 5В от меги в сторону карты памяти и заодно в обратную сторону от 3.3в к 5В меге. это дело работало по isp и в проекте был чип W5500. он трехвольтовый, но прекрасно держит 5В. те при работе isp с картой памяти через lvc125 все работает. isp на 3.3в на w5500 тоже отлично работают, но когда я подавал на вход isp одновременно данные от 5В карты памяти и сетевой карты. то все переставало работать. как только все пропустил через lvc125 все заработало. вот такие загадки именно меги. Очень она нервно относится к 3.3в сигналам.

Выше половины питания - единица, ниже половины питания - нуль. Так что скорее 2,7 вольт

Всё как-то не читал подробно, но может проблема в том, что на меге мини между пинами Rx, Tx и соответствующими ногами СН340 стоят резисторы по 22 Ом, а на УНО и НАНО - по 1 кОм. Внешний сигнал на Rx0 гасится выходом Тх СН340.

надо датишь поднимать, если не ошибаюсь - высокий уровень даже меншье ,чем половина. и зона неопределености в районе 1.3-1.7В.

Ошибаетесь. В цифровой электронике разделение идет по половине напряжения питания

проблема в том, что и уарт 1 не воспринимает 3.3в вход от оранжа напрямую, а там нет никаких сн340