RS232 - TTL Module

Тема в разделе "Arduino & Shields", создана пользователем Daniil, 19 сен 2014.

  1. Daniil

    Daniil Гуру

    Здравствуйте, я приобрёл данный модуль вместе с Матрёшкой Y.
    Когда пришло время для работы с программным UART'ом, то много времени потратил на поиск проблемы - "почему у меня не работает?".
    В итоге присоединив Rx модуля к pin 2, а Тх модуля к к pin 3 и написав программу:
    Код (Text):
    #include <SoftwareSerial.h>

    SoftwareSerial mySerial(2, 3); // RX, TX

    void setup()
    {
    Serial.begin(9600);
    mySerial.begin(9600);
    }

    void loop() // run over and over
    {
         int  i=mySerial.read(); //принять число из программного UART
         Serial.print(i);        //отправить число на аппаратный UART
         mySerial.print(i);      // отправить число обратно на программный UART
         delay(200);
         i=Serial.read();        //аналогично, но приём из аппаратного UART
         Serial.print(i);      
         mySerial.print(i);
    }
     
    И использовав программу http://www.compuphase.com/software_termite.htm для анализа COM-портов на ноутбуке, то выяснил, что через данный модуль данные приходят и отправляются на встроенный UART, но послать данные с программного(!) UART'a на ПК через данный модуль не получается.
    Мой диагноз - не работает Tx. Рin 3 работает(по крайней мере ШИМ), т.к. с помощью ШИМ'а диод мигает. Пробовал перенести Тх на пин 4 - не работает приём.
    Может это брак? Я взял последний модуль, хотя на сайте было написано, что в наличии их 2, я бы взял 2, специально для таких случаев. Может он был на дне коробки и повредился?
     
  2. geher

    geher Гуру

    Перекрестить RX-TX (в смысле RX линию софтового порта (2) к TX модуля и наоборот)?
     
  3. Daniil

    Daniil Гуру

    1. Если подключить перекрестно(Rx модуля к pin 1, Tx модуля к pin 0), то информация никуда не идёт.
    2. я, кажется, с ума схожу. Подключив Тх модуля к Тх аппаратному(pin 1) UART всё передавалось(!), не получается возобновить передачу.
    3. Если Rx модуля подключить к Rx аппаратному (pin 0) или программному (pin 2), то информация от ПК к ардуине проходит.(Тх висит в воздухе). Тх модуля пробовал воткнуть во все оставшиеся Rx (pin 0) и Tx'ы(pin 1 и pin 3). Сообщения от ардуине к ПК не идут.
    Наблюдение к п.2.
    Если pin 0 занят, то ардуина перепрошиваться не будет - урок получил несколько дней назад.
    Сейчас препрошиваясь, я следил за данным фактом, но т.к. pin 0 это не pin 1, поэтому я думал, что всё будет Ок если из pin 1 будет торчать провод. Но кое что происходило:
    Тх модуля соединён с pin 1(Тх аппаратный) - при перепрошивки, я следил за тем, что находится на Тх и увидел передачу прошивки(много кракозябр). Но сейчас такого нет.

    Вынул модуль из breadboard и воткнул в те же отверстия всё работает, я не знаю в чём проблема.

    Работает всё на своих местах, модуль подключён к pin 2 и pin 3.
     
  4. 9xA59kK

    9xA59kK Гик

    У меня было подобное с бредбордом- мама с папой не всегда надежно контактируют- переткнешь заработает. Я пробовал ради интереса и на другом "борде" тоже иногда происходит. А вот с многоштырьковыми разъемами промышленного образца(коих у меня завались) ни разу ничего подобного не происходило- чем и пользуюсь.

    PS/ Выписал соединительные провода(папа- папа) для подобных бордов у китайцев- заметил что на них какая то вязкая(что то типа клея или силикона или винил какой, тонкой пленкой) фигня появляется. Когда часто втыкаешь она задираться начинает и ее видно- поэтому я все папы зачистил на всякий случай. Наверно надо было еще и залудить.
     
    Последнее редактирование: 20 сен 2014
    SSnick нравится это.
  5. SSnick

    SSnick Гик

    Согласен, есть такое дело, жутко бесит, нахрена она нужна.... но такое только на круглых папках, на П-образных нет такого
     
  6. bpcomp

    bpcomp Нуб

  7. geher

    geher Гуру

    Разница в том, что первый предназначен для подключения к USB порту компьютера, а второй к аппаратному последовательному порту компьютера RS-232.
     
  8. bpcomp

    bpcomp Нуб

    Через USB-Serial адаптер можно залить скетч в atmega328 ?
     
  9. geher

    geher Гуру

    Если смотреть на схему ардуино мини, в которую через USB-Serial адаптер адаптер скетч точно можно залить, то получается, что RX и TX и Reset подключены непосредственно к ногам atmega328.
    Так что, насколько я понимаю, из этого следует, что в atmega328 можно залить при помощи USB-Serial адаптер в том случае, если в нее (atmega328) залит правильный бутлоадер.