Любая идея, почему мое собственное приложение C не может достигать более высоких скоростей, чем 38400? У меня точно такое же приложение, которое я успешно инициализировал для прослушивания и передачи на 9600, 19200, 38400 бод. Однако, как только я установил 57600, я получаю мусор из передатчика (приемник, которого я не знаю). Я слушаю его с помощью терминала, поэтому вижу мусор прямо из заголовка булавки.
Я использую Raspbian и uart на пинах 14 и 15 заголовка GPIO.
Есть ли какая-либо корректировка некоторой доли прецизионности, которая вызывает проблему?
Прямо сейчас я просто делаю это (и это работает): cfsetispeed (& options, B38400); cfsetospeed (& options, B38400); tcsetattr (uart0_filestream, TCSANOW, & параметры); fcntl (uart0_filestream, F_SETFL, O_NDELAY);
Часть TX: int a = write (uart0_filestream, StartOfTheMessage, Length);
Спасибо.