【发布时间】:2015-05-25 12:56:20
【问题描述】:
在编写红外遥控驱动程序时,我必须在启用和禁用 PWM 期间控制延迟准确时间。
起初我在内核中使用 udelay() 函数,但我发现它根本不准确,正如我在另一个 post 中所说的那样
AFAIK,内核提供的其他超时功能由于调度程序无法提供准确的时间,当超时时,内核仍然需要一些时间才能切换到我的进程。
为此我应该使用什么函数?
【问题讨论】:
-
您需要什么分辨率?你试过
hrtimer接口吗? -
我不能说我需要什么分辨率,因为我不知道。实际上在某些平台上 udelay() 有效,但有时 udelay() 不起作用....
标签: linux timer linux-kernel driver delay