Я не думаю, что вы действительно хотите две темы. Типичный поток программы (написать AT-команду, проверить ответ и т. Д.) Будет проще писать и отлаживать в однопоточной программе.
Ожидание символов можно сделать с помощью вызова select()
. Слой tty в основном настраивается через
tcsetattr, tcgetattr
и системный вызов друзей. С помощью этого вызова вы можете настроить, хотите ли вы, чтобы вас прерывали, например, на новой строке или на каждом символе. Смотрите man termios для справочной страницы. Два больших варианта, если вы хотите, чтобы специальные символы, такие как EOF, EOL Ctrl-C и т. Д. ..., обрабатывались, имели данные (режим raw) или интерпретировались слоем tty (канонический режим).
См. Часть о выборе в руководстве по последовательному программированию или справочную страницу выбора для получения дополнительной информации