c - Raspberry Pi 中的 Uart 较高波特率问题

标签 c linux raspberry-pi uart raspbian

知道为什么我的 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/

相关文章:

c - 从 execv() 获取返回值

linux - 如何仅使用 shell 命令编辑文件以保持相同长度的行

python - 树莓派 Omxplayer OpenCV

c - 如何在CMake的外部库中包含头文件

c++ - 是否可以在 .mm 文件中仅使用 C 语法?

c - 这个 C 程序中的内存分配是如何完成的?

c - 如何对数组指向的区域内存进行逻辑或

regex - 如何从文件中复制正则表达式匹配项?需要从日志文件中获取所有 MAC 地址

ruby-on-rails - 无法在 Linux 上安装 rabbitmq-server(Oracle Linux Server 版本 6.7/RHEL)

c - 尝试从设备读取时,Raspberry Pi 上出现 FT_DEVICE_NOT_FOUND - sudo 不起作用