知道为什么我的原生 C 应用程序不能达到高于 38400 的波特率吗?我有完全相同的应用程序,我成功初始化它以在 9600、19200、38400 波特上收听和传输。但是,一旦我设置了 57600,我就会从发射器中取出垃圾(我不知道接收器)。我正在用终端收听它,所以我直接从针头看到垃圾。
我在 GPIO 接头的 Pin 14 和 15 上使用 Raspbian 和 uart。
是否有任何导致问题的精确分数的调整?
现在我只是这样做(并且它有效): cfsetispeed(&options,B38400); cfsetospeed(&options,B38400); tcsetattr(uart0_filestream, TCSANOW, &options); fcntl(uart0_filestream, F_SETFL,O_NDELAY);
TX部分:int a = write(uart0_filestream, StartOfTheMessage, Length);
谢谢你。