Я пытаюсь настроить последовательный порт на Centos, но не могу заставить его работать. это код, с которым у меня проблемы.
tcgetattr(idComDev[i], &options); // get current settings
printw("default baudrate is %d ", cfgetispeed(&options));
cfsetispeed(&options, B115200); // set baud rate
cfsetospeed(&options, B115200); // set baud rate
tcsetattr(idComDev[i], TCSANOW, &options);// save the settings
printw("Seg %d = COM%hd at %d Baudrate",i,CommNo[i], cfgetispeed(&options));
Выход из этого: Default baud rate is 4098 Seg0 = COM1 at 4098 Baudrate
.
Почему это на 4098? Я нигде не могу найти этот бодрейт.
Если я устанавливаю скорость передачи 1800, то это говорит о том, что она равна 10. Если я устанавливаю ее 9600, это говорит о том, что она равна 13.
Я провел некоторое исследование и обнаружил, что, возможно, аппаратное обеспечение не может поддерживать такую высокую скорость передачи данных, но у меня есть программа Java на том же компьютере, коммутирующая с тем же устройством, к которому я пытаюсь подключиться. Так что я знаю, что этого не может быть.
Кто-нибудь знает, что происходит и как это исправить?