Serial0 использовать можно, но он сидит на пинах 1 и 3, а они привязаны к USB-UART поэтому его применение тоже затруднено...
В итоге нам остаётся один только Serial2.
Для меня это явилось проблемой, т.к. нужен ещё один порт Serial. Начитался я в интернетах что портам Serial можно назначать различные пины - инициализировать порт.
К сожалению в FLProg нельзя выбрать порт Serial1, поэтому и инициализировать его и применить совместно с Serial0 и Serial2 не представляю возможности...
Однако можно использовать порт Serial0, перенаправив его на другие пины. Правда тогда не будет работать загрузка программ через USB, как вариант, загружать можно по воздуху.
Как провести инициализацию порта, для примера Serial0.
В программе используем Serial0 (например в блоке "отправка переменной в uart"), затем после компиляции в IDE находим строку
Код: Выделить всё
Serial0.begin(9600, SERIAL_8N1);
Пример, в котором Serial0 назначаются пины Rx21, Tx22:
Код: Выделить всё
Serial0.begin(9600, SERIAL_8N1, 21, 22);
СпойлерПоказать
Может кому-то это будет полезно.
Кстати, таким образом можно использовать Serial1 вместо Serial0, если последний используется для USB. В FLProg подключить Serial0, а затем в коде изменить на Serial1 и указать желаемые номера пинов.