摘要: 作者:ARM-WinCE在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图:串口驱动本身分为MDD层和PDD层。MDD层对上层的Device Manager提供了标准的流设备驱动接口(COM_xxx),PDD层实现了HWOBJ结构及结构中若干针对于串口硬件操作的函数指针,这些函数指针将指向PDD层中的串口操作函数。DDSI是指MDD层与PDD层的接口,在串口驱动中实际上就是指HWOBJ,PDD层会传给MDD层一个HWOBJ结构的指针,这样MDD层就可以调用PDD层的函数来操作串口。微软针对于串口驱动提供了参考源代码,可以在下面的目录下找到:”\WINCE600\PUBLIC\COM 阅读全文
posted @ 2010-09-13 15:07 gmh 阅读(2431) 评论(0) 推荐(0) 编辑
摘要: // Topic:把微软代码搬到BSP下调试的方法// 作者:wogoyixikexie@gliet.gooogleman // 论坛账号:gooogleman (经常在CSDN、www.armce.com/bbs出没)// 版权:桂林电子科技大学一系科协wogoyixikexie@gliet.gooogleman// 平台:wince5.0.0 FL2440 5.0 BSP (飞凌FL2440开发板)// 发布日期:2010-1-14// 最后修改:// 注意事项:未经作者同意,商业网站不能转载,并且不得在转载的时候擅自修改、删除文章的任何部分//---------------------- 阅读全文
posted @ 2010-09-13 14:32 gmh 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 1. PDD层代码简单分析PDD层的主要包含了以下2个类:CSerialPDDPowerUpCallback,CSerialPDD,下面简单的分析这2个类的作用。1.1 CSerialPDDPowerUpCallbackCSerialPDDPowerUpCallback类用于串口电源上电时的处理。在调用CSerialPDD::Init()后会创建一个CSerialPDDPowerUpCallback类型的对象在CSerialPDD::PowerOn()函数中会调用此对象的SignalCallBack()函数,这样RunThread就开始运行,进而通过调用CSerialPDD::NotifyPD 阅读全文
posted @ 2010-09-13 14:12 gmh 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 虽然串口通讯已经是普遍的标准而且广为大家熟知,但驱动中涉及的部分内容也可能在平时的应用中并不是很常用到,在这里做一个简单的介绍待后面说明到具体代码的时候可以连贯一些。 串行通讯接口是目前十分流行的通讯接口之一。由于其电气界面的简单性使其在计算机领域的应用相当的广泛。在这里提到的串行通讯接口主要是指UART(通用串行)和IRDA两种。通常的串行连接电气连接上有3wire和9wire两种。3wire的接线方式下定义了发送、接收和地三根连接。其用途就如名称一样分别用于发送、接收。下面是通常3wire连接的结构框图 通常在串行接口控制器上会有两个FIFO用作接收和发送的缓冲,当接收到数据后会直接将接 阅读全文
posted @ 2010-09-13 14:09 gmh 阅读(1260) 评论(0) 推荐(0) 编辑