Linux驱动编写中找不到sleep系列延时函数的解决办法
开发环境
- 宿主机:ubuntu12.04
- 目标机:Freescale-iMX280开发板
- 内核版本:linux-2.6.35.3
- 交叉编译器:arm-fsl-linux-gnueabi-
问题描述
- 开发linux驱动的时候,需要用到延时函数,准备调用:
sleep();
usleep();
msleep();
等函数的时候,编译器提示
error: implicit declaration of function 'usleep'
原因分析
sleep();
usleep();
msleep();
等函数是用户空间定义的函数,在内核中无法使用
解决办法
改用内核中定义的延时函数
//头文件
#include <linux/delay.h>
//函数原型
//秒级延时
delay();
//毫秒级延时
mdelay();
//微秒级延时
udelay();
//纳秒级延时
ndelay();
版权声明:本文为sunshinebooming原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。