首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于WinCE6.0的 LPC3250串口驱动程序开发
来源:本站整理  作者:佚名  2009-09-18 10:19:56




    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在退出驱动时删除实例。具体代码如下:


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

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

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:156,328.10000 毫秒