如何把2440 5.0BSP的红外串口改成普通串口?

时间:2022-08-29 21:53:07

作者:wogoyixikexie@gliet

——————————————————————————————————————————————

    前几天,专门抽时间看了一下串口驱动,发现好多使用C++来开发,结果就学习了两天C++语言。看来看

去,发现这个普通串口的驱动和红外串口的驱动几乎没有什么分别。后来想想,其实他们的驱动几乎都一样

也正常,因为这个红外串口终究还是串口,只是他要和一个微软的红外组件配合就形成了我们心中的特殊串口

    后来,在立宇泰网站上找到了把红外串口变成普通串口的方法。

问:如何修改使UART2在WINCE5.0下可用?

答:修改两处:

1)HKEY_LOCAL_MACHINE/Comm/Irsir1/Parms]
   "Port"=dword:4   ;设备编号
   ; 0 = Use external dongle, 1 = Use internal IR
   "IntIR"=dword:0  ;原为1,修改为0

2)去掉SYSGEN_IRDA组件。位于Communication Services and Networking->Networking-Personal Area Network->IrDA。

3)重新Sysgen工程。

注意:UART2的设备名为COM4。

——————————————

果然可以啊。哈哈,按照立宇泰网站上找到了把红外串口变成普通串口的方法。成功了,我看串口驱动也看了几天了。除了MDD一个线程不理解,其他大的框架是没有什么问题,呵呵。如果增加外设应该也比较容易了,微软其实是填空式开发的。哈哈

    明天试试就OK了。貌似2440 4.2BSP并不是这么做的,现在来看看4.2BSP的注册表是怎么回事。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/IRDA2440]
 "DeviceArrayIndex"=dword:1
 "Irq"=dword:09
 "IoBase"=dword:50008000
 "IoLen"=dword:2C
 "Prefix"="COM3"
 "Dll"="IRDA2440.Dll"
 "Order"=dword:0
 "Priority"=dword:0
 "Port"="COM3:"
 "DeviceType"=dword:0  ; IRDA modem, 0 -> null modem
 "FriendlyName"="S2440 IRDA2440"
 "Index"=dword:2
 "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"

; Force IrCOMM & NDIS, which depend on serial, to loads load later.
; This is because serial depends on utldrv.
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/IrCOMM]
 "Order"=dword:2

[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/NDIS]
 "Order"=dword:2

[HKEY_LOCAL_MACHINE/Comm/IrDA/Linkage]
 "Bind"=multi_sz:"Irsir1"

[HKEY_LOCAL_MACHINE/Comm/Irsir]
 "DisplayName"=LOC_FRIENDLYINFRARED
 "Group"="NDIS"
 "ImagePath"="irsir.dll"

[HKEY_LOCAL_MACHINE/Comm/Irsir/Linkage]
 "Route"=multi_sz:"Irsir1"

————————————————————————————除了下面,还有很多不同。

[HKEY_LOCAL_MACHINE/Comm/Irsir1/Parms]
 "BusNumber"=dword:0
 "BusType"=dword:0
 "Port"=dword:2
; 0 = Use external dongle, 1 = Use internal IR
 "IntIR"=dword:1
; 0 = Internal transceiver, 1 = Extended Systems JetEye dongle
 "TransceiverType"=dword:0

;Connectoids
[HKEY_LOCAL_MACHINE/Comm/DefaultConnections]
  "USB CONNECT"=multi_sz:"USB CONNECT","19200"
;LOC_19200=multi_sz:"SER2440 UNIMODEM","19200"
;LOC_38400=multi_sz:"SER2440 UNIMODEM","38400"
;LOC_115200=multi_sz:"SER2440 UNIMODEM","115200"
;LOC_IR=multi_sz:LOC_FRIENDLYINFRARED,"115200"
;LOC_57600=multi_sz:"SER2440 UNIMODEM","57600"
——————————————————————————————————————