This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux:如何扩展 UART (串行)缓冲区大小?

Guru**** 2563960 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/627544/linux-how-can-uart-serial-buffer-size-be-extended

工具/软件:Linux

大家好

我的板是 AM335x-EVM、SDK 是 SDK-02.00.11。

我有一个问题。

如何扩展 UART (串行)缓冲区大小?

我们正在使用与 UART 的通信、但有一个问题。

问题是通信缓冲区已满、并且 PC 端(PC => AM335x 板)发送了35个字节的数据、即使发送了忙信号(RTC)也是如此。

为了解决这个问题、我想将 UART 接收缓冲区的大小增加大约100个字节。

如何扩展 UART (串行)缓冲区大小?

也许、请告诉我是否有其他解决方案。

感谢你的答复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Tosky、

    您使用的是哪种 UART 驱动程序? 您可以切换 UART 8250。 它将帮助您解决问题。

    请单击以下链接:

    此外,您可以引用的一些线程:

    谢谢、

    Prabhuraj

    Black胡椒 技术

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Tosky、

    您可以通过更改./linux/arch/arm/mach-omap2/serial.c 文件中的 DEFAULT_RXDMA_BUFSIZE 值来增加 RX 缓冲器。
    另一个机会是更改 struct termios (termios.c_cc[Vmin])中的特殊字符设置。 您可以在以下位置找到示例配置和说明:
    en.wikibooks.org/.../termios
    此外、您还可以使用非规范模式来试验已读取的固定字符数。
    有关更多说明、请访问:
    stackoverflow.com/.../linux-blocking-vs-non-blocking-serial-read

    BR
    Tsvetolin Shulev