Я пытаюсь читать двоичные данные с последовательного устройства в c на linux. Проблема в том, что иногда во внутреннем буфере драйвера есть символы, но опрос (с помощью select (2)) возвращает сообщение о том, что устройство не готово к чтению.uart buffer не читается
Я прочитал и перечитал человека термисонов и всех связанных мужчин и искал через Интернет. Я считаю, что я правильно установил все флаги (а именно VTIME, VMIN) и отключил ICANON. Я также попытался использовать функцию «tcmakeraw», но это не решило проблему.
У вас, ребята, есть идеи о том, что мне делать?
С наилучшими пожеланиями & Заранее спасибо Yannay
Прикрепите код ... – BlueDog
Помните, что вы повторно заполняете 'readfds' перед * каждым * вызовом' select() '? – caf
Какой тип последовательного порта? (т. е. настоящий 16550, клон 16550, USB-конвертер, bluetooth, irda, ...) –