Product SiteDocumentation Site

3.2.3. Передача данных через COM-порты

Внутри виртуальной машины управление портами осуществляется с помощью команды stty. Без управляющих параметров она позволяет посмотреть текущие параметры портов. Для просмотра конкретного порта можно использовать перенаправление на нужный порт.
  1. С помощью команды stty -a < <dev-name> получите информацию о параметрах COM‑порта №2 (ttyS1)
    [root@first ~]# stty -a < /dev/ttyS1
    speed 9600 baud; rows 0; columns 0; line = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
    swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
    discard = ^O; min = 1; time = 0;
    -parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany
    -imaxbel -iutf8
    opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho
    -extproc
    [root@first ~]#
    
    Для соединения устройств необходимо подготовить порты к передаче данных: включить режим raw для передачи просто последовательности байт, а также отключить дублирование данных на экран:
  2. С помощью команды stty raw -echo < <dev-name> подготовьте COM‑порты для передачи
    [root@first ~]# stty raw -echo < /dev/ttyS1
    [root@first ~]#
    
    [root@second ~]# stty raw -echo < /dev/ttyS1
    [root@second ~]#
    
  3. Запустите команду cat <dev-name> на first для получения данных с порта
    [root@first ~]# cat /dev/ttyS1
    
  4. С second передайте через порт календарь
    [root@second ~]# cal > /dev/ttyS1
    [root@second ~]#
    
    Заметьте, что календарь будет прочитан в first:
    [root@first ~]# cat /dev/ttyS1
      September 2025
    Su Mo Tu We Th Fr Sa
       1  2  3  4  5  6
    7  8  9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30