Linux 驱动--ADC驱动

主机系统:Ubuntu 11.04

内核版本:Linux Kernel 2.6.39

硬件平台:FL2440

开发板系统:Linux Kernel 2.6.28

转载请标明出处http://blog.csdn.net/yming0221/archive/2011/06/19/6554898.aspx

下面是用CPU轮寻的方式来判断AD转换完成的

其中控制寄存器的第15未标明AD转换是否完成,当AD完成转换时,控制寄存器自动置一,但是由于数据存在延迟,当第15位置一的时候读出的数据并不稳定,需要在其后加个延迟的函数,在内核态使用的延迟函数包含头文件./linux/delay.h

mdelay(int x);延时x毫秒

udelay(int x);延时x微秒

ndelay(int x);延时x纳秒

测试函数如下:

测试结果

Linux 驱动--ADC驱动

你可能感兴趣的:(linux)