主机系统: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纳秒
测试函数如下:
测试结果