c - 有没有办法在 linux programmaticaly 中控制 uart rx fifo 大小
问题描述
我正在编写软件来与设计不良的硬件进行通信。该硬件可以通过 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 中的一切都是文件,它应该是聪明的方式。
我想你有权拥有自己的审美意识。
如果您想将另一个缓冲区大小设为默认值,您可以随时在驱动程序中更改它并按照此处的建议重新编译内核。
推荐阅读
- javascript - JavaScript中是否有相当于Python自记录表达式的东西?
- javascript - Http请求被多次执行
- iframe - 调整 iframe 宽度的大小
- flutter - 如何在 Flutter 应用程序中使用 async await inisde streamBuilder 或在 StreamBuilder 中解决我的未来?
- php - PrestaShop : 我们无法开始安装 :( PrestaShop 安装需要启用 zip 扩展
- c++ - 检查 QTextEdit 的内容是否为有效字体。- Qt
- android - 要在图像中使用的正确可扩展对象 (KOTLIN)
- c# - 运行向导时出错。Telerik.VSX.WizardEngine.ScenarioManagerException:类别:一般
- python - 如何在 Python 中合并多个文件
- javascript - Unsplash API 控制图像质量