2440wince的串口驱动位于\bsp\drivers\serial目录下 主要有三个文件mdd.c ser2440_ser.c ser2440_hw.c mdd.c主要是为上层提供接口,也就是COM_Init COM_Read COM_Open这类 mdd.c会创建一个Thread来检测并处理中断 但是往串口写数据时并不通过这个Thread,而是直接用的COM_Write来调用DoTxData来发送的 ser2440_ser.c主要作为中间层,在mdd层和ser2440_hw层之间传替数据 对于串口的操作函数都由结构体HW_VTBL来保存,2440的三个串口都对应一个HW_VTBL, 2440的三个串口的结构体HW_VTBL中的函数都在这层定义和实现, ser2440_hw.c主要就是对硬件的操作了,HW_VTBL里面的函数都是通过调用ser2440_hw.c里面的函数来实现功能的 主要结构就是这么的了。。。 内核用mdd的接口,mdd用ser2440_ser的接口,ser2440_ser用ser2440_hw的接口 |