Я подключил модем к своему компьютеру (linux) через последовательный порт, и я пытаюсь писать и читать с модема с помощью системного вызова для записи и чтения. Во время чтения прочитайте системные блоки вызовов после читать все данные из модема, в моем коде я сделал чек на EOF, как показано нижеПрочитайте системный вызов, не обнаруживающий Конец файла
while(1)
{
if((rd_cnt =read(fd, &str, 1)) <=0)
{
perror("Read to dev failed");
printf("error no=%d\n",errno);
break;
}
printf("char =%c -> hex=%x rd_cnt=%d\n",str,str,rd_cnt);
sleep(3);
str=0;
}
if(rd_cnt==0)
printf("EOF met\n");
, но я никогда не получил ВФ, я хотел прочитать все данные, отправить от модема до я встречаю конец файла. Прошу вас, пожалуйста.
Где ваша 'while (1)' завершение цикла? – someone
Как вы ожидаете, что последовательный порт узнает, когда закончится конец файла? Как правило, вы не хотите повесить серийное соединение после передачи файла, поэтому протоколы (например, почтенный ZMODEM) были разработаны для обработки передачи файлов, смешанной с обычным (интерактивным) трафиком. – unwind
в следующем, если условие, если возвращаемое значение чтения равно <= 1, оно завершит – Sachin