Здравствуйте всем!
Столкнулся я с такй проблемой, что в Linux Angstrom на devkit8000 после вызова Read в буфере остаётся старая информация, при чем очень долого. Задача моя на данном устрйстве реализовать gateway по протоколу modbas(соединяю сеть ethernet c serial). Момент времени #1:
Записал пакет
Читаю ответ
Нормально
Момент времени #2:
Записал пакет
Читаю ответ, а он от предыдущего. Хотя сработала ioctl(fd, FIONREAD, &byte);
Момент времени #3:
Записал пакет
Читаю ответ, а он от предыдущего. Хотя сработала ioctl(fd, FIONREAD, &byte);
Такую проблему решал с помощью usleep(100000) между Write и Read, но потребовалась большая скорость передачи и я не знаю как мне убрать этот usleep. Так есть ли какая нибудь функция очитски буфера com порта ?
Так же иногда вернув правильное значение вызов ioctl(usleep(1) делаю после) при чтении оказываются одни нули или инфа приправленая мусором. Кто-нибудь встречался с таким ?