Что будет если выполнить pinMode(0, OUTPUT); pinMode(1, OUTPUT);?

что будет если выполнить в скетче выполнить pinMode(0, OUTPUT); pinMode(1, OUTPUT); ?
это ведь пины встроенного Serial порта, который используется для коммуникации по USB.
будет ли после этого глючить фугкция Serial.read/print ?
А может и вовсе перестанет нормально прошиваться плата?

Не лень писать было? Попробовать быстрее

а вот не факт!
вопрос как раз возник из за того что с какого то момента у меня перестала нормально прошиваться плата. и не только - еще перестал работать монитор последовательного порта (тупо ничего не выводится, хотя функция Serial.printl отрабатывает - смотрел сторонней программой hairlessmidi - она показывает сообщения из серийного порта, интерпретируя их как миди)
так вот момент этот вроде совпал когда я залил скетч со строками
pinMode(0, OUTPUT); pinMode(1, OUTPUT);

вроде бы. то есть я теперь точного ответа в ближайшее время не получу.
а какой в итоге ответ правильный на мой изначальный вопрос?

Дядя. Код давай. И проблему выкладывай. Если хочешь что бы кто то тобой проникся.

к бабке не ходи, порт RX выпалил

Попробуйте и нам расскажете.

1 лайк

Есть такая бессмертная схема:


Осталось видосики поискать.

Ну код то простой
void setup(){
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
}

Но дело не в коде оказалось! просто совпадение!
Поэтому сам по себе код уже не важен. То есть по идее правильный ответ на изначальный вопрос - ничего страшного с платой не случится от такого кода)))

Как я понял что дело не в коде?

в общем, удалось достать другую плату ардуино, заведомо рабочую. подключил её -и теже две проблемы:

  1. SerialMonitorPort не работает , даже стороння программа Serial Port Monitor не может законнектиться к порту, только через программу HairlessMIDI удаётся поглядеть, что же там эти платы выдают в порт (пробовал разные скетчи, которые что либо пишут в Serial.print…).
    Но HairlessMIDI мне не подходит, так как сами понимаете, она только MIDI сообщения нормально может понять.

  2. И с заливкой прошивок беда- скетч в плату заливается, но после заливки любого скетча IDE 2.0.4 остаётся в состоянии “Uploading”.
    (иногда при этом в логи валятся красным надписи )

Снова залить прошивку не получится, пока не вырубишь IDE и заново не запустишь. Неудобно после каждой заливки ИДЕ перезапускать :((

В итоге - танцую с бубном вокруг каталогов %appdata% и Roaming пытаясь понять, где Arduino IDE хранит свои настройки, чтобы корректно переустановить среду с нуля!
В принципе в качестве костыля сгодилась бы хотя бы кнопка отмены процесса UPLOADING.

Вижу даже, что народ уже просил добавить в IDE кнопку отмены процесса UPLOADING

а так же issues с номерами 3568 и 3771

в рамках танцев с бубном дёрнул свежий ночной билд идее-хи
с адреса
https://downloads.arduino.cc/arduino-ide/nightly/arduino-ide_nightly-20240331_Windows_64bit.zip
но он не запустился(( послав меня сообщением
“Arduino IDE.exe точка входа в DiscardVirtualMemory не найдена в библиотеке DLL KERNEL32.dll”. Винда ему не меньшн чем десятая чтоли нужна…

Наверное посмотрели на схему и всё поняли сразу :slight_smile:

если приёмный пин определить на выход и выставить 0, а по входу прилетит 1, это называется КОРОТКОЕ ЗАМЫКАНИЕ

Там разве в схеме нет ограничительных резисторов?

1 лайк

на схему чего?)) не, в принципе попытка пин, отведенный для ввода информации (RX) перевести в режим OUTPUT с точки зрения здравой логики должна была испортить работу всей платы, согласитесь?
но видимо защита от дурака в плате arduino nano предусмотрена и команда pinMode (0, OUTPUT) просто игнорируется процессором!

в общем да, свежая версия IDE требует не меньше вин10, поэтому танцую с бубном на той версией, что юзаю щас, 2.0.4 potrable - зачистил %appdata% и Local.
Заново накатил поддержку ардуины в Board manager. Пробую залить скетч, тоже самое, две обозначенных проблемы сохраняются ((

так и что в итоге?
плата у меня рабочая - прошивается, прошивка работает, всё норм. IDE вот только тупит - монитор порта не пашет, UPLOADING не завершается.
какой же всё таки правильный ответ на изначальный вопрос темы?)
моё предположение - ничего плате не будет (собственно, обе платы у меня рабочие, как я понимаю)

На схему лед куба, там чётко читается:

а прошивается…а так бывает? щас взрослые подойдут, может что подскажут

А как повезет. Скорее всего пин сгорит

Как же она прошивается, если UPLOADING не завершается.?

сама по себе прошивка завершается - это видно по морганию светодиодов на самой плате и тому факту, что после залива прошивка начинает работать и выполнять свои функции (например заливаю прошивку, которая раз в секунду мигает светодиодом - все норм, мигает, ну или там чего нить пишет в Serial - всё ок)
но сама IDE зависает на сообщении UPLOADING и чтобы заново чё нить залить в плату надо IDE вырубать и запускать заново ) и с этим бы я смирился, но то что Serial Monitor не работает - это уже мне сильно мешает отлаживать скетчи ((

Выяснил интересую вещь, залил скетч который раз в секунду пишет пару байтиков в Serial.
Запустил стороннюю программу Vovsoft Serial Port Monitor - как я и говорил, выдаёт ошибку при открытии Com-порта.
Эту платку подключил к другому компу (под управлением WinXP) - а там всё нормально, VovsoftSerialPortMonitor порт открыл и байтики показывает.
При этом VovsoftSerialPortMonitor не ардуиновский а хардверный порт COM1 открывает на обоих компах нормально.
Вывод - что то на компе с Win7 с ардуиновским COM-портом отличается. А так как HairlesMIDI на обоих компах ардуиновский порт нормально открывает - надо поискать еще разные программы, которые могут показать содержимое COM порта.

у простых людей простые неисправности (волшебный дым к примеру) у сложных - сложные )))

Это точно))
В общем с портом такое дело - нашёл программку, которая смогла на рабочем компе где стоит IDE открыть таки порт ардуины - это программка AdvancedSerialPortMonitor 4.4.21 build 527
Почему сама IDE не хочет мониторить порт и почему виснет после UPLOADING (если быть точным, то IDE не виснет - код можно редактировать и делать Verify, но кнопка UPLOAD остаётся жёлтой и сообщение UPLOADING висит, и заново залить скетч не даёт, пока не выключишь IDE и не запустишь заново)
Так что пока придётся IDE каждый раз перезапускать перед заливкой скетча, а порт мониторить сторонней программой =)