от
Я пишу некоторые программы для обработки последовательного порта чтения/записи для системы и BeagleBone. ОС Debian с 9. Я пишу код на C с
.

Вот мой код:

// reference
// https://www.cmrr.umn.edu/~strupp/serial.html

#include 
#include 
#include 
#include 
#include 
#include 
#include 

int open_port(void)
{

    int fd;

    fd = open("/dev/ttyS1", O_RDWR | O_NOCTTY | O_NDELAY);
    if(fd == 

Вопрос у меня звонки на read()
не блокируют. Это не желаемое поведение. Эти призывы должны заблокировать до получения 2 байта данных. Наверное, я неправильно где-то вариант. Однако я не знаю, в чем заключается ошибка, и от того, что я исследовал, это должно быть чтение в блокирующем режиме. (
fcntl(fd, F_SETFL, 0);
)

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...