我正在编写软件来与设计不良的硬件进行通信。该硬件可以通过RS485线(9600 8N1)与linux pc(内核4.15)通信,并且时间非常短:PC应在收到设备请求后2ms内回复。
我能够使用LOW_LATENCY标志和/sys/class/tty/ttySx/rx_trig_bytes 文件来解决此任务。
打开端口"rx_trig_bytes"后,文件内容更改为"14",因此我需要在打开端口后向其写入"1"以获得良好的回复延迟。
有没有办法通过API调用或在系统启动/驱动程序加载后修复它?目前的实现看起来很丑陋:(
有趣的是,你觉得这种方式很丑陋,考虑到一切都是Unix中的文件,这应该是聪明的方式。
我想你有权拥有自己的审美意识。
如果要将另一个缓冲区大小设置为默认值,则始终可以在驱动程序中更改它,并按照此处的建议重新编译内核。