积极答复者
二个流串口驱动, 一个流串口驱动和实际物理串口驱动的问题

问题
-
在WinCE下, 我想实现字符流驱动, 最终要分别以
CreateFile(TEXT("STR8:"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0);
CreateFile(TEXT("STR9:"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0);
打开。把它做成二个流驱动,分别设置注册表-->STR8, -->STR9, 分别调用应是可以的.
做成一个流驱动也是可以的。在做成一个流驱动时,但我不知道STR8, STR9这些东西在注册表中或流驱动内部如何设置? 请专家给予解答.
答案
-
关于设置波特率的问题,你在google里面搜索一下就知道了,有些问题很基础,完全可以自己在网上搜索到。
我不建议你自己通过流设备的方式来实现串口驱动,你完全可以使用微软提供的串口驱动模型。
我的建议是你使用微软的串口驱动模型来开发你的驱动,还有你问问题最好介绍一下你的软硬件平台和你到底要做什么?
- 已标记为答案 微软中文技术论坛Moderator 2009年6月12日 6:48
全部回复
-
首先,我认为如果你做成两个流驱动,就不可能同名了,也就是说不能都叫STR,因为设备的命名应该由三个字母一个索引号组成。一般对于一个驱动,在注册表中的Prefix表示设备名,DeviceArrayIndex表示索引号。
如果你的两个设备属于同一类设备(比如串口1和串口2),是应该使用一个流设备驱动的。在注册表配置中的Prefix设置设备名,也就是STR,分别设置DeviceArrayIndex为8和9,举个例子:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\str_8]
"DeviceArrayIndex"=dword:8
"Prefix"="STR"
"Dll"="streamdriver.Dll"[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\str_9]
"DeviceArrayIndex"=dword:9
"Prefix"="STR"
"Dll"="streamdriver.Dll"当然,你的驱动里面也要进行判断。
-
-
关于设置波特率的问题,你在google里面搜索一下就知道了,有些问题很基础,完全可以自己在网上搜索到。
我不建议你自己通过流设备的方式来实现串口驱动,你完全可以使用微软提供的串口驱动模型。
我的建议是你使用微软的串口驱动模型来开发你的驱动,还有你问问题最好介绍一下你的软硬件平台和你到底要做什么?
- 已标记为答案 微软中文技术论坛Moderator 2009年6月12日 6:48