Работа с SoftwareSerial

Тема в разделе "Arduino & Shields", создана пользователем Serjay, 17 май 2015.

  1. Serjay

    Serjay Нерд

    Намного обидный вопрос, конечно соеденял с теми пинами которые указываю в скетче.
    Я думал что диоды мигают когда есть соединение, без жесткой привязки.
     
  2. Serjay

    Serjay Нерд

    Произвел я замеры, между CH340G пин 3 и Mega328 пин 30, CH340G пин 4 и Mega328 пин 31 = 0. CH340G пин 2 и Mega328 пин 30, CH340G пин 4 и Mega328 = по 98 кОм. У меня бракованная Ardino?
     
  3. ANV

    ANV Гуру

    Это говорит о том, что в разрыве между ATMega и CH340 нет разисторов. Без них на serial порту конфликт пинов между CH340 и GSM модулем. Как видите, CH340 побеждает. Это не бракованная, а недоделанная или "оптимизированная" Ардуино :)
    Можно перекинуть SoftwareSerial с 0 и 1 на 2 и 3 и должно все заработать как надо.
    Исправить можно перерезанием дорожек и впаиванием туда резисторов
     
  4. Serjay

    Serjay Нерд


    Пробывал на 2 и 3, не работает. В том то и прикол, что все работает тока на 0 и 1 и при открытом мониторе порта!!
     
  5. ANV

    ANV Гуру

    1. Проверьте будет ли работать на 2 и 3 при открытом мониторе порта
    2. Какое сопротивление между выводом Reset на UNO и выводом 15 CH340 (нижний ряд ног, левая нога - 11, правая 20)
    Если там 0 ом, тогда китайцы еще выкинули конденсатор.
    Альтернативная проверка - залить blink и посмотреть работает ли он при питании от батарейки без USB и Serial monitor
     
  6. geher

    geher Гуру

    Прошу прощения, если обидел.
     
  7. Serjay

    Serjay Нерд

    При 2 и 3 , открытом мониторе порта все работает, но в мониторе порта ничего не отображается. Блинк я и раньше пробовал, всё прекрасно работало от батарейки.
     
  8. Serjay

    Serjay Нерд

    Мистика какая то.......
     
  9. Unixon

    Unixon Оракул Модератор

    Обратную сторону платы покажите.
     
  10. Serjay

    Serjay Нерд

    Пожалуйста....
     

    Вложения:

  11. ANV

    ANV Гуру

    Странно, проходной конденсатор на DSR не забыли, тогда не понимаю почему на 2,3 не работает без монитора
     
  12. Serjay

    Serjay Нерд

    Вот и мне не понятно. Хочу реализовать проект с gsm, скетч рабочий, тока работает все через раз и вообще странно. Начал копать и выявил вот такую закономерность. У меня вот теперь вопрос получится ли именно с этой Arduino реализовать проект..... Веть все связано с этим serial соединением.
     
  13. Unixon

    Unixon Оракул Модератор

    Осциллограф есть? Хотя бы игрушечный типа DSO Nano...
     
  14. Serjay

    Serjay Нерд

    Нету(( да я с ним и ни в ладах....
    Заказал другую ардуинку, то же в Китае, попитбую на най добить проект.
     
  15. Serjay

    Serjay Нерд

    С что именно надо им померить? Возможно получится у меня это сделать, есть коллеги которые умеют им обращаться....
     
  16. Unixon

    Unixon Оракул Модератор

    Состояние линий RX/TX, RESET и т.п. когда работает и когда нет. Передаваемые данные отлично видно. Ну и для отладки еще можно свободными ногами дрыгать и синхронизировать по ним осциллограф, ну или просто разные светодиоды развешать для индикации состояния программы.

    Когда все работает, но данных нет, линии RX/TX должны быть в "1". Если UART выключен или что-то еще неправильно подсоединено, линии RX/TX можгут плавать или быть в "0".
     
  17. DarkTwiter

    DarkTwiter Нуб

    Можно узнать ссылкочку на библиотеку с softwareserial?
    Ибо нормальных библиотек найти не могу(руки кривые наверное)
     
  18. в комплекте с IDE
     
  19. КвазИ

    КвазИ Нерд

    всем привет, дабы не пложить тем спрошу здесь про softwarerial

    в чем затык? нужно отослать последовательно 4 числа с плавающей запятой..
    если делаю так

    Код (C++):
    ssserial.print(data1);
    ssserial.print(data2);
    ssserial.print(data3);
    ssserial.print(data4);
    то все хорошо отпраляеться, НО я буду использовать радиомодуль uart и расстояние около 500м и дабы не потерять данные вставляю delay ,без разницы сколько мсек и сразу перестает что-либо отсылать(
    Код (C++):
    ssserial.print(data1);
    delay(100);
    ssserial.print(data2);
    delay(100);
    ssserial.print(data3);
    delay(100);
    ssserial.print(data4);
    в тесте проверку использую не с радиомодулем а с ср2102 и монитор порта