社区
嵌入开发(WinCE)
帖子详情
WINCE 5.0 虑拟串口
IT铁哥
2010-08-25 10:55:16
我现在想把硬件串口COM1虚拟成多个串口,方便多个应用同时读取串口数据。
不知哪位大侠有做好的驱动,传我一份,或者提供下载路径。谢谢!
732393619@qq.com.
谢谢!
...全文
231
16
打赏
收藏
WINCE 5.0 虑拟串口
我现在想把硬件串口COM1虚拟成多个串口,方便多个应用同时读取串口数据。 不知哪位大侠有做好的驱动,传我一份,或者提供下载路径。谢谢! 732393619@qq.com. 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IT铁哥
2010-08-30
打赏
举报
回复
[Quote=引用 13 楼 gooogleman 的回复:]
呵呵,虚拟串口我改进了效率。
还不错,不会影响系统的。
[/Quote]
我这个是网上下的,不知是不是GM大侠写的。
如果用WaitCommEvent( pSerial->m_hCOM, &dwCommModemStatus, NULL );会不会可以改善性能。
IT铁哥
2010-08-30
打赏
举报
回复
中国龙
正确的732393618@QQ.COM,能不能帮我再发一次,我用你的试试看看。
IT铁哥
2010-08-30
打赏
举报
回复
[Quote=引用 12 楼 chinesedragon2010 的回复:]
楼主,我用732393619@qq.com给你发送驱动,但被退回来了,你由其他邮箱吗?或者你加我的QQ吧:597038165,我通过QQ发给你
[/Quote]
是我把邮箱搞错了,这两天没有上CSDN,谢谢你。
gooogleman
2010-08-28
打赏
举报
回复
呵呵,虚拟串口我改进了效率。
还不错,不会影响系统的。
chinesedragon2010
2010-08-28
打赏
举报
回复
楼主,我用732393619@qq.com给你发送驱动,但被退回来了,你由其他邮箱吗?或者你加我的QQ吧:597038165,我通过QQ发给你
chinesedragon2010
2010-08-28
打赏
举报
回复
[Quote=引用楼主 macrozhang001 的回复:]
我现在想把硬件串口COM1虚拟成多个串口,方便多个应用同时读取串口数据。
不知哪位大侠有做好的驱动,传我一份,或者提供下载路径。谢谢!
732393619@qq.com.
谢谢!
[/Quote]
楼主,你好,我们的系统也有这方面的应用,我们的GPS使用实际的COM1,通过vspd.dll可以把COM1虚拟成为多个串口使用,需要的添加的内容如下:
1.在platform.bib中加入:
vspd.dll $(_FLATRELEASEDIR)\vspd.dll NK SH
2.在platform.reg下面加入把COM1虚拟成为多个的串口的内容:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\VSPD0]
"Priority"=dword:00000000
"DeviceArrayIndex"=dword:00000000
"PortIsRO"=dword:00000000
"SplitPort"=dword:00000001 ;这个就是实际使用的COM1
"Index"=dword:00000005 ;这个是虚拟出来的COM5
"Prefix"="COM"
"Dll"="vspd.dll"
"DeviceType"=dword:00000000
"Tsp"="Unimodem.dll"
"FriendlyName"="Virtual port COM5"
"DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4b,00,00,00,00,08,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\VSPD1]
"Priority"=dword:00000000
"DeviceArrayIndex"=dword:00000001
"PortIsRO"=dword:00000000
"SplitPort"=dword:00000001
"Index"=dword:00000006
"Prefix"="COM"
"Dll"="vspd.dll"
"DeviceType"=dword:00000000
"Tsp"="Unimodem.dll"
"FriendlyName"="Virtual port COM6"
"DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4b,00,00,00,00,08,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\VSPD2]
"Priority"=dword:00000000
"DeviceArrayIndex"=dword:00000002
"PortIsRO"=dword:00000000
"SplitPort"=dword:00000004
"Index"=dword:00000007
"Prefix"="COM"
"Dll"="vspd.dll"
"DeviceType"=dword:00000000
"Tsp"="Unimodem.dll"
"FriendlyName"="Virtual port COM7"
"DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4b,00,00,00,00,08,00,00,00,00,00,00
上面的信息就是把COM1虚拟成为COM5,COM6和COM7这三个虚拟串口,这样总共就有4个串口可以使用了(访问GPS,这是对我的应用来说的)
vspd.dll我已发到你的邮箱中,如果收到,麻烦楼主告知!
IT铁哥
2010-08-28
打赏
举报
回复
加了虑拟串口驱动,感觉慢了一些,
虑拟串口用这个线程来读出串口数据,这样会影响系统性能吗?
有什么其它好办法?
void CallReadThread()
{
DWORD dwBytes;
DWORD len;
BYTE *ThrBuffer = (BYTE *)LocalAlloc(LPTR, COM_MAX_LEN);
ThreadRunFlag = TRUE;
finishedThreadFlag = FALSE;
while(ThreadRunFlag)
{
if ((SerialItem) && (ThrBuffer))
{
ReadFile(SerialItem->hComm, ThrBuffer, COM_MAX_LEN, &dwBytes, NULL);
EnterCriticalSection((LPCRITICAL_SECTION)&g_csVirtalReadLock);
if (dwBytes > 0)
memcpy(&SerialItem->buffer[SerialItem->pos],ThrBuffer,dwBytes);
len = SerialItem->pos + dwBytes;
SerialItem->pos = len % BUFFER_LEN;
if (len > BUFFER_LEN)
memcpy(SerialItem->buffer,&SerialItem->buffer[BUFFER_LEN],SerialItem->pos);
LeaveCriticalSection( (LPCRITICAL_SECTION)&g_csVirtalReadLock);
}
Sleep(50);
}
LocalFree(ThrBuffer);
finishedThreadFlag = TRUE;
}
躺着享受
2010-08-25
打赏
举报
回复
http://blog.csdn.net/gooogleman/archive/2010/02/08/5298093.aspx
这里面又开发流程的
自己写一个吧
wjcapple
2010-08-25
打赏
举报
回复
顶起,我是为分而来
IT铁哥
2010-08-25
打赏
举报
回复
[Quote=引用 2 楼 sunrain_hjb 的回复:]
http://www.cnblogs.com/we-hjb/archive/2008/12/14/1354871.html
看看这里吧,希望有点帮助.
[/Quote]
我个地方的莲接已经不在了。你有不有传一个这样的工具我试一试也行。
sunrain_hjb
2010-08-25
打赏
举报
回复
http://www.cnblogs.com/we-hjb/archive/2008/12/14/1354871.html
看看这里吧,希望有点帮助.
博说医械研发
2010-08-25
打赏
举报
回复
gooogleman和hjb的博客里都有吧,去找找看
IT铁哥
2010-08-25
打赏
举报
回复
[Quote=引用 5 楼 fankyo 的回复:]
http://blog.csdn.net/gooogleman/archive/2010/02/08/5298093.aspx
这里面又开发流程的
自己写一个吧
[/Quote]
这个我发邮件跟他聊过了。他的需要地图软件。
FLandY1982
2010-08-25
打赏
举报
回复
[Quote=引用 7 楼 macrozhang001 的回复:]
引用 5 楼 fankyo 的回复:
http://blog.csdn.net/gooogleman/archive/2010/02/08/5298093.aspx
这里面又开发流程的
自己写一个吧
这个我发邮件跟他聊过了。他的需要地图软件。
[/Quote]
我觉得驱动更应用软件应该没关系吧。
你自己写个吧,说下简单的思路:
1.首先需要写多个虚拟串口的流接口驱动
2.如果是实现多个流驱动分时复用读取一个串口,做好互斥处理,就可以了。
3.如果是实现“多个应用同时读取串口数据”,那就要开辟一段共享内存区域,将串口发送的数据直接放到这个区域内,你写的虚拟串口直接在共享内存内取数据。
IT铁哥
2010-08-25
打赏
举报
回复
[Quote=引用 5 楼 fankyo 的回复:]
http://blog.csdn.net/gooogleman/archive/2010/02/08/5298093.aspx
这里面又开发流程的
自己写一个吧
[/Quote]
这个我发邮件跟他聊过了。他的需要地图软件。
wade008
2010-08-25
打赏
举报
回复
关注下
WinCE
5.0
模
拟
器(中文).rar
Win CE
5.0
模
拟
器简体中文版 使用说明: 下载后,先解开压缩包,直接运行里面的.bat文件就可以使用了
wince
虚
拟
串口
学习笔记
我们有一个GPS模块连接在COM3上,现在有两个应用程序都需要读取COM3的内容,然而
WinCE
的
串口
为独占式的
串口
,因此我们需要一个驱动程序,将COM3虚
拟
成COM4和COM5来供应用程序使用。
ARM 嵌入式
WINCE
5.0
LINUX系统安装,平台定制测试全攻略
ARM 嵌入式
WINCE
5.0
LINUX系统安装,平台定制测试全攻略
wince
5.0
模
拟
器
wince
的模
拟
器,可以模
拟
端口、软件运行、屏幕点击等各种操作
WinCE
下CP210x的驱动程序
WinCE
下CP210x的驱动程序,支持
WinCE
5.0
和
WinCE
6.0.
嵌入开发(WinCE)
19,524
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章