关于串口驱动

zyq26672607   2010-3-30 20:08 楼主
请问在串口驱动中,WINCE是如何获得波特率等参数的?我现在仅知道应用程序通过调用SetCommState函数来设置串口的参数,但WINCE是如何获得?具体在哪个文件?是MDD层的MDD.C文件吗?

回复评论 (7)

串口驱动中,看到如下的一个定义,恳请高手解释下。
m_CommPorp.dwSettableBaud      =
        BAUD_075 | BAUD_110 | BAUD_150 | BAUD_300 | BAUD_600 |
        BAUD_1200 | BAUD_1800 | BAUD_2400 | BAUD_4800 |
        BAUD_7200 | BAUD_9600 | BAUD_14400 |
        BAUD_19200 | BAUD_38400 | BAUD_56K | BAUD_128K |
        BAUD_115200 | BAUD_57600 | BAUD_USER;
点赞  2010-3-30 20:59
WINCE一般是不需要获取波特率的吧?只需要设置波特率即可
点赞  2010-3-30 21:47
WINCE下,如果使用了比如串口软件,使用不同的波特率进行通讯,WINCE是如何获得不同的波特率的?
WINCE在哪里读取该数据,然后传到哪里,最后又怎么到CPU的寄存器了?
点赞  2010-3-30 22:30
你在使用串口軟體開com port時就會有SetCommState等等設定動作
會去設定串口的DCB structure 其中依個參數就是baudrate
會去叫ppd.c中的設定DCB function 寫到對應的暫存器
点赞  2010-3-31 09:23
波特率 是要在ap(driver)里面 里面设置的,而不是根据通信放的设置,而自动修改的
点赞  2010-4-1 18:06
引用: 引用 5 楼 trueman_onlyme 的回复:
波特率 是要在ap(driver)里面 里面设置的,而不是根据通信放的设置,而自动修改的

这个我不是很理解,我在MDD层里的COM_IOControl函数里看到“case IOCTL_SERIAL_SET_DCB :”,应该是这里获得了程序中的参数,通过ApplyDCB函数来设置的。
楼上的,能否说详细点?
点赞  2010-4-1 19:59
只知道设置,不知怎么获得啊,同问
点赞  2010-4-1 22:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复