Команда Echo зависает при записи на последовательное устройство

У меня есть последовательное устройство, установленное в режим raw с помощью stty -F /dev/ttyS0 raw. Когда я пытаюсь отправить через него какие-либо данные с помощью echo 'hello' > /dev/ttyS0, происходит следующее:

  • Другая сторона не получает никаких данных; Осциллограф показывает, что данные не отправляются

  • В течение примерно 40 секунд не появляется подсказка, кажется, что терминал зависает

В чем может быть причина такое поведение?

PS Настройки последовательного порта в качестве выхода с stty -F /dev/ttyS0 -a:

скорость 9600 бод; stty: / dev / ttyS0 line = 0; intr = ^ C; выход = ^ \; стереть = ^ ?; убить = ^ U; eof = ^ D; eol = ; eol2 = ; swtch = ; начало = ^ Q; стоп = ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V; флеш = ^ O; мин = 1; время = 0; -parenb -parodd cs8 hupcl -cstopb crelad clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opocrlnon -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon iexten echo echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

3
задан 19 April 2016 в 10:20

2 ответа

После долгого поиска возможной причины я произошел через решение. Это имело отношение к определенной ошибке во время инициализации моих аппаратных средств в соответствии с Linux. Решение было к вручную (хорошо, от прогона программы с повышением) устанавливает флаг, который управлял уровнем сигнала для прерываний.

После этого был установлен, последовательный порт начал работать как ожидалось.

я нашел решение здесь: форумы linux.org . Это ссылается superiotool как вдохновение

0
ответ дан 19 April 2016 в 20:20
  • 1
    Этот didn' t, кажется, делают что-либо, нормальную начальную загрузку. Я считал где-нибудь что этот doesn' t работа над systemd основывал системы? Или это - просто действительно это быстро... – User 4574 30 August 2017 в 09:05

Если Вы будете использовать аппаратное управление потоками РТС/CTS затем, то сериал заблокирует ожидание (Готово отправляемого) РТС. Вы, вероятно, хотите включить программное управление потоком вместо этого путем отключения CTS и РТС:

stty -F /dev/ttyS0 -crtscts
1
ответ дан 19 April 2016 в 20:20
  • 1
    Изучите детали пакета, и Вы будете видеть. Это немного сбивает с толку. – Pilot6 30 August 2017 в 09:33

Другие вопросы по тегам:

Похожие вопросы: