首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Windows CE.net的AD7854驱动程序开发 02

Windows CE.net的AD7854驱动程序开发 02

完成对物理存储器的设置。
(2)流接口函数的开发
流接口函数为应用程序操作硬件提供统一的接口,完成对硬件的抽象工作。一个流接口函数实质上就是提供某一特定功能的模块,根据硬件的不同,各接口函数实现的内容千差万别。有的接口函数需要很多的代码,有的就是一个空的函数体。在AD7854驱动的接口函数中,初始化函数以及读写函数是主要的接口函数,本文结合硬件具体介绍其实现过程:
①PADC_CONTEXT ADC_Init(LPCTSTR pCon—text,LPCVOID lpvBusContext)。该接口函数在驱动程序加载时,由设备管理器调用。在该函数中主要完成硬件初始化工作,如映射设备的物理内存、配置相关寄存器、创建中断事件、中断服务线程等。
ADC_Init函数需按照一定的顺序完成驱动的初始化工作,其内部函数的调用顺序如图3所示。ADC_Init调用成功以后,将返回AD7854结构体的首地址——pADC,同时表明该驱动加载成功。
②DWORD ADC_Read(PADC_CONTEXT pADC,PUCHAR pBuffer,DWORD Count)。该接口函数主要完成对AD7854.的读操作,代码是对操作的抽象。为了更好地体现开发过程,首先介绍一下AD7854的读操作过程。AD7854一次输出16位数据,分成2次输出(高8位、低8位)。在读写时序中,除了通过对CPU的存储寄存器的相关配置以满足时间上的要求外,另一个重要的地方就是注意满足高字节使能输出引脚(HBEN)的需要。具体是在输出高字节时,该引脚应输入高电平。AD7854输出一次16位数据时有两种输出方式:其一就是高8位先输出,然后是低8位输出(与此相对应,HBEN引脚在AD7854读时序中第1个字节为高电平,第2个字节为低电平);其二刚好相反。
由图3可知,HBEN的电平由S3C2410的地址线O确定,因此在一个AD7854的读时序中地址线O应改变一次自己的状态。同时AD7854的片选与LnGCS2相连,这也就构成了AD7854的两个读物理地址:0x1000 0000和0x1000 0001。在本设计中,规定先读低8位数据然后为高8位,因此地址线应先送出Oxl000 0000然后送出0x1000 0001。AD7854的读周期时序如图4所示。

由此可开发AD7854读接口函数,具体代码如下:

写接口函数DWORD ADC_Write(PADC_CON—TEXT pADC,PUCHAR pBuffer,DWORD Count),主要完成对.AD7854的写操作。AD7854的写操作过程和读操作很相似,代码的实现过程也基本相同,在此就不再赘述。
其余的接口函数主要完成返回AD7854的结构句柄,释放内存空间等工作。虽然必不可少,但是对AD7854的操作不是主要的,在此不再详细介绍。
编写导出函数和注册表文件,编译生成d11文件,通过PB将其制作成CEC文件,
返回列表