gpt4 book ai didi

c - Linux可加载模块精确定时

转载 作者:行者123 更新时间:2023-11-30 19:34:00 24 4
gpt4 key购买 nike

我编写了一个 Linux 可加载内核模块,用于通过 GPIO 引脚处理自定义串行协议(protocol),从而与嵌入式设备进行通信。

我使用这种方法是为了在控制 GPIO 转换时获得更高的优先级和更高的精度。我在 linx/delay.h 中使用了 udelay/mdelay 函数。

我在arduino板上实现了一个中断处理程序,通过串行调试接口(interface)打印输出GPIO转换之间的时间,并且计时似乎没有我预期的那么精确(请不要考虑延迟由调试接口(interface)引入,相同的问题在较低速度下可重现)。

您能告诉我如何找出发生这种情况的原因,或者如何在 Linux 模块内找到更好的方法,以精确的时间间隔激活/停用 GPIO 线?

非常感谢!安东尼奥

编辑:

我会提供一些额外的信息。这些设备是:

  1. 发射器:C.H.I.P. :CPU Arm 1GHz,操作系统 Ubuntu 15
  2. 接收器:Arduino NANO

我还想问你,默认的 UART 驱动程序如何以固定/精确的时间速率进行传输

再次感谢您!

最佳答案

我通过使用 completion APIs 找到了解决方案.

无论如何,谢谢你。

关于c - Linux可加载模块精确定时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44500455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com