日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

WINCE下如何虚拟多个串口

發(fā)布時(shí)間:2025/4/16 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WINCE下如何虚拟多个串口 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

應(yīng)用背景

我們的產(chǎn)品是GPS產(chǎn)品,GPS模塊是通過(guò)TX與RX來(lái)和CPU串口控制器的UART2連接的,對(duì)應(yīng)于COM3(這個(gè)可以根據(jù)自己的項(xiàng)目的需要來(lái)定),platform.reg中注冊(cè)表信息如下:

;==========GPS===== UART2===COM3===============

[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/Serial2]

?? "DeviceArrayIndex"=dword:2

?? "Irq"=dword:f

?? "MemBase"=dword:50008000

?? "MemLen"=dword:30 ;; 2c

?? "InterruptBitsShift"=dword:6 ; UART 2 Interrupt Sub Register shift bit.

?? ;"ISTTimeouts"=dword:200 ; every 512 ticks checking Modem status.

?? "Prefix"="COM"

?? "Index"=dword:3

?? "Dll"="serial_smdk2443.Dll"

?? "Order"=dword:0

?? "Priority"=dword:0

?? "Port"="COM3:"

?? "DeviceType"=dword:0? ; IRDA modem, 0 -> null modem

?? "FriendlyName"="GPS COM3"

?? "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"

?? "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

應(yīng)用程序通過(guò)COM2可以接受到GPS發(fā)送的數(shù)據(jù)并進(jìn)行解析,把解析出來(lái)的數(shù)據(jù)在shell上顯示,給用于直觀的GPS數(shù)據(jù)。應(yīng)用端往往需要多個(gè)COM口來(lái)接受GPS發(fā)送的數(shù)據(jù),那么如何解決這個(gè)問(wèn)題了,可以通過(guò)基于COM3來(lái)虛擬多個(gè)串口出來(lái),這樣可以打開(kāi)多個(gè)COM口來(lái)接受GP發(fā)送過(guò)來(lái)的數(shù)據(jù),如何實(shí)現(xiàn)呢?只需要做一下動(dòng)作就可以實(shí)現(xiàn)了。

?

1. 使用vspd.dll來(lái)實(shí)現(xiàn)虛擬多個(gè)串口功能,這個(gè)驅(qū)動(dòng)在網(wǎng)上應(yīng)該很容易找到的。

2. 如果是WINCE5.0那么就在platform.bib中加入:

vspd.dll???????? $(_FLATRELEASEDIR)/vspd.dll NK? SH

如果是WINCE6.0系統(tǒng),那么就在platform.bib中加入:

vspd.dll???????? $(_FLATRELEASEDIR)/vspd.dll NK? SHK??

對(duì)于WINCE5.0和WINCE6.0系統(tǒng),這個(gè)vspd.dll驅(qū)動(dòng)是通用的。

3.在platform.reg中加入

[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/VSPD0]

"Priority"=dword:00000000

"DeviceArrayIndex"=dword:00000000

"PortIsRO"=dword:00000000

"SplitPort"=dword:00000003

"Index"=dword:00000001

"Prefix"="COM"

"Dll"="vspd.dll"

"DeviceType"=dword:00000000

"Tsp"="Unimodem.dll"

"FriendlyName"="Virtual port COM1"

"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:00000003

"Index"=dword:00000005

"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/VSPD2]

"Priority"=dword:00000000

"DeviceArrayIndex"=dword:00000002

"PortIsRO"=dword:00000000

"SplitPort"=dword:00000003

"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

?

上面的注冊(cè)表就是基于COM3,虛擬出COM1、COM5和COM6,這樣這4個(gè)COM口都可以用于和GPS通信了,在這里強(qiáng)調(diào)一點(diǎn),就是注冊(cè)表項(xiàng)"SplitPort"=dword:00000003的值一定要和實(shí)際的COM口一致(在此是COM3)。

?

本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/chinesedragon2010/archive/2010/09/09/5872435.aspx

總結(jié)

以上是生活随笔為你收集整理的WINCE下如何虚拟多个串口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。