Можно ли из пользовательского приложения проверить, доступны ли данные для чтения в порту UART. Код написан на C поверх Embedded Linux Platform.
Например :
while(isDataAvalable(fileDescriptor)) {
read(fileDescriptor, buffer, 10)
}
Я ищу некоторую функцию, предоставляемую linux, которая возвращает true, если есть данные для чтения из порта, и false, если данных нет. Но сама функция не должна удалять данные из аппаратного буфера, пока данные не будут прочитаны методом "read".
Если в Linux нет такой встроенной функции, есть ли способ создать функцию-оболочку, используя системные вызовы Linux для достижения вышеуказанной функциональности, которую может использовать приложение пользовательского пространства..?