关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于WinCE6.0的 LPC3250串口驱动程序开发

基于WinCE6.0的 LPC3250串口驱动程序开发

作者:时间:2009-09-18来源:网络收藏

Clpc32xxPdd16550UART是个抽象类,实现通用功能,具体的要分别由继承的标准串口Clpc32xxPdd16550Stan- dardUART类和高速串口Clpc32xxPdd16550HighUART类实现。在各自初始化时,主要是配置各种寄存器,实现具体硬件差异化,包括:配置UART时钟控制寄存器、时钟模式寄存器和时钟选择寄存器,分别使能UART时钟、设置自动时钟模式、选择相应的时钟源作为分频器的输入时钟;禁止UART3 Modem和UART6 IrDA功能;禁止UART的回送功能。
特别要强调的是关于中断的处理,中断可以用动态映射,也可以用静态映射。在OEMInter-ruptHandler、 Clpc32xxPdd16550UART::Init、CPdd16550::Init、CPdd16550::ThreadRun等处加入调试打印信息,可以较快地找到问题所在,确定硬件中断是否映射为系统中断、系统中断与中断事件是否绑定、中断产生时是否进入相应的处理程序。中断处理好了,就基本完成了。
上述工作结束后,就要添加串口的注册表。以串口3为例,主要是设置动态链接库DLL、设备基地址、中断号、前缀名、被加载的顺序等。根据注册表的 DeviceArrayIn-dex、CreateSerialObject就可以构造标准串口或高速串口类实例了, DeleteSerialObject在退出驱动时删除实例。具体代码如下:

本文引用地址:http://www.eepw.com.cn/article/202649.htm


在广州致远电子有限公司的SmartARM开发板上,通过WinCE的串口应用程序与上位PC机进行发送接收实验,本驱动已经实现标准串口最高460 800 b/s、高速串口最高921 600 b/s的稳定传输。

结 语
本文介绍了.0下的模型,结合的硬件情况,详细说明了串口驱动开发过程,包括配置串口相关的寄存器和处理中断中重要函数的实现,以及注册表和Source文件编写等。本驱动程序在广州致远电子有限公司的SmartARM开发板上实验成功。在串口驱动开发中所用的思路,对其他类似的驱动设计有较高的参考价值。


上一页 1 2 3 下一页

关键词: WinCE6 3250 LPC 串口驱动

评论


相关推荐

技术专区

关闭