Здравствуйте, я приобрёл данный модуль вместе с Матрёшкой 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, специально для таких случаев. Может он был на дне коробки и повредился?
Если подключить перекрестно(Rx модуля к pin 1, Tx модуля к pin 0), то информация никуда не идёт. я, кажется, с ума схожу. Подключив Тх модуля к Тх аппаратному(pin 1) UART всё передавалось(!), не получается возобновить передачу. Если 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.
У меня было подобное с бредбордом- мама с папой не всегда надежно контактируют- переткнешь заработает. Я пробовал ради интереса и на другом "борде" тоже иногда происходит. А вот с многоштырьковыми разъемами промышленного образца(коих у меня завались) ни разу ничего подобного не происходило- чем и пользуюсь. PS/ Выписал соединительные провода(папа- папа) для подобных бордов у китайцев- заметил что на них какая то вязкая(что то типа клея или силикона или винил какой, тонкой пленкой) фигня появляется. Когда часто втыкаешь она задираться начинает и ее видно- поэтому я все папы зачистил на всякий случай. Наверно надо было еще и залудить.
Согласен, есть такое дело, жутко бесит, нахрена она нужна.... но такое только на круглых папках, на П-образных нет такого
Разница в том, что первый предназначен для подключения к USB порту компьютера, а второй к аппаратному последовательному порту компьютера RS-232.
Если смотреть на схему ардуино мини, в которую через USB-Serial адаптер адаптер скетч точно можно залить, то получается, что RX и TX и Reset подключены непосредственно к ногам atmega328. Так что, насколько я понимаю, из этого следует, что в atmega328 можно залить при помощи USB-Serial адаптер в том случае, если в нее (atmega328) залит правильный бутлоадер.