Терминальный эмулятор для CygWin?

У меня есть:

  • Windows 7
  • CygWin
  • Плата разработки, подключенная к порту COM1.

Мне нужно:

  • Подключитесь к его последовательному порту от CygWin.

Если бы я использовал Linux, я бы запускал такую ​​программу, как picocom или minicom . Также в Windows 7 я мог установить HyperTerminal и открыть COM1-порт или использовать Putty для этого. Но я хотел бы сделать это из монетного двора CygWin, потому что мне нравятся его шрифты и некоторые другие маленькие радости. Кажется, что mintty сам не может работать с последовательными портами, поэтому я задаюсь вопросом, есть ли в репозитории CygWin программа, например picocom или minicom .

Проведя некоторое исследование терминальных эмуляторов сегодня, я чувствую необходимость приветствовать добродетели xterm . Этот FAQ документирует множество ошибок в других эмуляторах терминала, которые нацелены на совместимость с xterm или VT-100. Вы также можете использовать vttest чтобы выявить много этих проблем для себя. Что отличает многих людей от xterm хотя это отсутствие конфигурации меню. Это приводит к тому, что многие люди думают, что xterm не настраивается вообще, но на самом деле он очень настраивается, его просто нужно делать с помощью таких файлов, как .Xresources или параметры командной строки.

Больше проблем включает отсутствие поддержки буфера обмена и, следовательно, отсутствие копирования / вставки с помощью Ctrl-Shift-C / Ctrl-Shift-V по умолчанию, однако это можно преодолеть . Другим является отсутствие вкладок, однако многие продвинутые пользователи Linux предпочитают использовать screen tmux или GNU, который обеспечивает эквивалентные функции.

Это приводит меня к реальному ответу на ваш вопрос – screen можно использовать для подключения к последовательному порту и должен работать на Cygwin, несмотря на то, что /dev/ttySX не отображается с ls . С этим вы сможете использовать любой эмулятор терминала, который вам нравится, будь то xterm или mintty . xterm не хватает многих современных функций и, следовательно, может быть не для всех, но это работа, отмечая, что трудно сопоставить то, что происходит под капотом.

В случае, если связь замирает, вот синтаксис использования экрана в качестве последовательного терминала:

 screen /dev/ttySX baud_rate,cs8|cs7,ixon|-ixon,ixoff|-ixoff,istrip|-istrip 

К моему большому удивлению, picocom работал из коробки для того, что мне нужно было сделать – поговорить со встроенными устройствами. По какой-то причине нет пакета cygwin, но его создание так же просто, как и

 git clone https://github.com/npat-efault/picocom; cd picocom && make 

Предполагая, что ваше устройство отображается как COM3 под окнами, выполните

 ./picocom -b 115200 /dev/ttyS2 

Я считаю, screen будет делать это, cygwin отображает COM-порты на / dev / stty * устройства и экран будет подключаться к устройству.

С man screen

Если в качестве первого параметра указано имя tty (символ специального устройства) (например, «/ dev / ttya»), окно напрямую подключается к этому устройству. Этот тип окна аналогичен «screen cu -l / dev / ttya». Требуется доступ на чтение и запись на узле устройства, на узле выполняется эксклюзивное открытие, чтобы отметить линию соединения как занятую. Допускается необязательный параметр, состоящий из списка флагов, разделенных запятыми, в нотации, используемой stty (1):