На плате полетного контроллера аппаратные порты соответствуют ( по названию) портам AtMega2560, но не соответствуют портам внутри кода полетного контроллера.
Видимо порты полетного контроллера виртуальные
serial0 = разъем USB.
Подключен к физическому UART0, через мультиплексор.
Подключается всегда на скорости 115200 бод.
serial1 = разъем Telem. ( отвечает за подключение телеметрии к полетному контроллеру, через любой доступный разъем )
Перемычки на задней стороне платы конфигурируют подключение к физическому порту uart0 (через MUX ) либо uart2.
Если перемычки конфигурируют соединение с URT0, то приоритет между Telem и USB выбирается мультиплексором. (приоритет выше у USB)
Если USB не подключен, то MUX подключает телеметрию к физическому UART0, а uart2 дублирует uart0.
Тоесть, если USB не включен, то serial1 управляет двумя портами uart0 и uart2
serial2 = ?
serial3 (uart1) = разъем GPS ( 9600 )
serial4 = ?
дальше еще смешнее
в мануале пишут:
UART2 (aka Serial3)https://ardupilot.org/plane....t=uart2По умолчанию Xbee, подключенный к APM2, будет использовать UART0 (он же «Serial» в Arduino),
который используется совместно с USB, как упоминалось выше.
Если вы хотите вместо этого использовать UART2 (также известный как «Serial3») для телеметрии,
вы можете изменить перемычку «AutoMUX UART0» в нижней части APM2.