有什么方法可以在Linux Programmaticaly中控制uart rx fifo大小

时间:2019-06-14 03:00:03

标签: c linux uart low-latency rs485

我正在编写软件以与设计不良的硬件进行通信。该硬件可以通过RS485线(9600 8N1)与linux pc(内核4.15)进行通信,并且计时时间非常短:pc应该在收到设备请求后的2毫秒内回复。

我能够使用LOW_LATENCY标志和/ sys / class / tty / ttySx / rx_trig_bytes文件解决此任务。

打开端口“ rx_trig_bytes”后,文件内容更改为“ 14”,因此我需要在打开端口后向其写入“ 1”,以获得良好的响应延迟。

在启动系统/驱动程序后,是否可以通过API调用来解决此问题或对其进行修复?当前的实现看起来很丑:(

1 个答案:

答案 0 :(得分:1)

有趣的是,您发现这种方式很难看,因为考虑到Unix中的所有文件都是文件,这应该是聪明的方法。

我想你应该有自己的审美意识。

如果要使另一个缓冲区大小为默认大小,则可以随时在驱动程序中对其进行更改,并按照建议的here重新编译内核。