msleep
和
mdelay
都是核心的延時函數,原型如下:
void mdelay(unsigned long msecs);
void msleep(unsigned int millisecs);
差別
mdelay
是忙等待函數,會占用
CPU
資源,延遲時間是準确的。
msleep
是休眠函數,不占用
CPU
資源,延遲時間通常高于給定值。
具體可以參考如下文章:
The difference between Mdelay and Msleep in Linux
Linux中核心延時函數