WINCE 串口驱动初始化后,会自动执行打开吗?
OS:WINCE 6.0
HW:PXA310
问题描述:
COM1:用作调试信息输出口
COM2:用作蓝牙通信口
串口程序:PUBLIC\COMMON\OAK\DRIVERS\SERIAL\COM_MDD2
通过打印信息如下:
+COM_Init...
+COM_Open handle 0xD28173C0, access 0x0, share 0x3 //BTUART Driver 未执行CreateFile(L"COM2:"...)
+COM_Open handle 0xD28173C0, access 0xC0000000, share 0x0 //BTUART Driver 执行过CreateFile(L"COM2:"...)
通过以上分析,个人发现COM2,初始化后,有打开操作,而COM1初始化后,没有执行打开操作,不知道,这个打开的操作是不是系统查询COM口的一些属性[因为access = 0x0 即非Read跟Write状态],或Marvell,定制了COM1为特殊口。
请各位指教~谢谢
[解决办法]
没弄明白什么意思,但是,有一点,串口初始化后,是不会自动打开的.
[解决办法]
com open 是应用调用的 ,不是加载调用的。
[解决办法]
蓝牙是不自动打开?
[解决办法]
当然不会自动打开了,否则到时如何关闭?不过加载的时候会执行xxx_Init()函数
[解决办法]
检查一下是否 COM2 的驱动加载得比 COM1 早。
要实现你的功能 COM2 的驱动必须在 COM1 之前加载。
[解决办法]
"Order"=dword:15 ; make sure it is loaded afer IPM
这个order太早了,可能会加载不了,建议将order改大点。我遇到过order过小造成流驱动加载不了的情况。