知道为什么我的 native C 应用程序无法达到高于 38400 的波特率吗? 我有完全相同的应用程序,我成功初始化以 9600、19200、38400 波特率收听和传输。然而,一旦我设置为 57600,我就会从发射器中得到垃圾(接收器我不知道)。我正在用终端收听它,所以我直接从引脚头看到垃圾。
我在 GPIO 接头的引脚 14 和 15 上使用 Raspbian 和 uart。
是否对某些精度分数进行了任何调整导致了问题?
现在我只是这样做(并且它有效): cfsetispeed(&选项,B38400); cfsetospeed(&选项,B38400); tcsetattr(uart0_filestream, TCSANOW, &选项); fcntl(uart0_filestream, F_SETFL,O_NDELAY);
TX部分: int a = write(uart0_filestream, StartOfTheMessage, 长度);
谢谢。
最佳答案
您的 UART 线不支持更高的波特率。
关于c - Raspberry Pi 中的 Uart 较高波特率问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17052522/