DS1102
У DS1102 многорежимный многоканальный порт RS232/422/485. Физически порт выполнен как один разъём DB9M.
Примечание: как эти режимы реализованы в DS1102, см. в разделе Определение режимов RS422 и RS485.
Назначение выводов порта
В режиме RS232 последовательный порт DS1102 имеет три линии выхода и три линии входа. В режиме RS422 вы получаете две пары линий выхода и две пары линий входа. Режим RS485 даёт одну пару линий выхода и одну пару линий входа. Они не независимы - работают в режиме полудуплекса.
Внутри DS1102 три независимых последовательных порта. Они управляются через объект ser.
У каждого из этих портов есть собственные линии TX и RX. Эти линии реализованы аппаратно, и "переназначить" их нельзя. В следующей таблице показано, как эти линии RX и TX подключены к DB9M:

| RS232 | RS422 | RS485 | |
| #1 | <Нет соединения> | TX2- (выход, обычно RTS-) | <Нет соединения> |
| #2 | RX (вход) | RX- (вход) | RX- (вход) |
| #3 | TX (выход) | TX+ (выход) | TX+ (выход) |
| #4 | TX3 (выход, обычно DTR) | TX- (выход) | TX- (выход) |
| #5 | Земля | Земля | Земля |
| #6 | RX3 (вход, обычно DSR) | RX+ (вход) | RX+ (вход) |
| #7 | TX2 (выход, обычно RTS) | TX2+ (выход, обычно RTS+) | <Нет соединения> |
| #8 | RX2 (вход, обычно CTS) | RX2+ (вход, обычно CTS+) | <Нет соединения> |
| #9 | <Нет соединения> | RX2- (вход, обычно CTS-) | <Нет соединения> |
Каждый логический последовательный порт объекта ser. также поддерживает управление потоком RTS/CTS, реализованное в прошивке (TiOS). Свойства ser.rtsmap и ser.ctsmap позволяют назначить любую линию ввода-вывода общего назначения (GPIO) DS1102 на роль линии RTS или CTS любого логического последовательного порта. Так, линии TX2 и RX2 (контакты 7 и 8) можно назначить линиями RTS и CTS, как это традиционно делается в портах RS232. При этом те же линии можно настроить и как независимый последовательный канал.
То же относится к линиям DTR и DSR, только с точки зрения объекта ser. они даже не "существуют". Эти линии реализуются на уровне приложения. Например, их поддерживает приложение Serial-over-IP от Tibbo. И здесь вместо того, чтобы использовать TX3 и RX3 (контакты 4 и 6) как линии независимого последовательного канала, их можно использовать как линии DTR и DSR, что обычно и делают.
Чтобы упростить обсуждение, рассмотрим последовательный порт с точки зрения приложения Serial-over-IP. Это приложение определяет 15 вариантов назначения. Даже в режиме RS232 некоторые варианты на DS1102 избыточны (а на DS1101 - нет). В режиме RS422 избыточных вариантов гораздо больше. Подробнее см. по ссылкам ниже:
А где варианты назначения для режима RS485? Их нет - но вы и так это знали.
Выбор режима последовательного порта
В DS1102 режим последовательного порта задаётся двумя линиями GPIO процессора - PL_IO_NUM_17 и PL_IO_NUM_18. Обе линии должны быть настроены как выходы (см. объект io.).
Чтобы выбрать нужный режим последовательного порта, установите состояние этих линий, как показано в таблице ниже:
| Режим последовательного порта | PL_IO_NUM_17 | PL_IO_NUM_18 |
| RS232 | LOW | HIGH |
| RS422 | HIGH | HIGH |
| RS485 | HIGH | LOW |
Управление направлением в режиме RS485
В режиме RS485, который является полудуплексным, линия GPIO PL_IO_NUM_3_TX1_INT3 служит линией управления направлением. Линия должна быть настроена как выход.
| Направление | PL_IO_NUM_3_TX1_INT3 |
| Выход | HIGH |
| Вход | LOW |