I have a PC-104 RF transceiver plug-in module that requires a normal serial
port configuration in order to communicate.
I had been using the following serial port setup in my platform.reg for CE4.2:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial5]
"SysIntr"=dword:1e
"IoBase"=dword:0300
"IoLen"=dword:8
"DeviceArrayIndex"=dword:4
"Prefix"="COM"
"Dll"="Com16550.Dll"
"Order"=dword:0
"Index"=dword:5
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial5\Unimodem]
"Tsp"="Unimodem.dll"
"DeviceType"=dword:0
"FriendlyName"="RF_PORT 5"
;19,200 baud
"DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
00,00, 08, 00, 00, 00,00,00,00
This worked fine in CE4.2, but I can't get the same trick to work in CE 5.0.
It appears that, by enabling interrupts to the CE5.0 port, I can transmit,
but I cannot receive any information back. Below is the code for the CE5.0
serial ports, COM3 and COM4. COM 3 is a serial port provided on the
VersaLogic Python board, I can communicate with a hyperterminal connection
fine. COM 4 then is my attempt to construct a serial port for my RF plug-in
device:
; COM3
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3]
"Index"=dword:3
"SysIntr"=dword:13
"IoBase"=dword:03E8
"IoLen"=dword:8
"DeviceArrayIndex"=dword:2
"Prefix"="COM"
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
"Dll"="Com16550.Dll"
"Order"=dword:0
; Turn on follows for Installable ISR (isr16550 supporting SOFTWARE FIFO)
"Irq"=dword:3
"IsrDll"="isr16550.dll"
"IsrHandler"="ISRHandler"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3\Unimodem]
"Tsp"="Unimodem.dll"
"DeviceType"=dword:0
"FriendlyName"="COM3:"
; byte 9 = 0 for NONE, 10 for HDW handshake. Bytes 13-16 control baudrate
(reverse order, i.e. 00004b00 = 19.2kb)
"DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
00,00, 08, 00, 00, 00,00,00,00
; COM4
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4]
"Index"=dword:4
"SysIntr"=dword:1a
"IoBase"=dword:0300
"IoLen"=dword:8
"DeviceArrayIndex"=dword:3
"Prefix"="COM"
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
"Dll"="Com16550.Dll"
"Order"=dword:0
"Priority"=dword:0
; Turn on follows for Installable ISR (isr16550 supporting SOFTWARE FIFO)
"Irq"=dword:a
"IsrDll"="isr16550.dll"
"IsrHandler"="ISRHandler"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4\Unimodem]
"Tsp"="Unimodem.dll"
"DeviceType"=dword:0
"FriendlyName"="RF_PORT_4:"
"DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
00,00, 08, 00, 00, 00,00,00,00
I tried with and without interrupts, with and without the "IClass" statement
(what is this?), but nothing has worked. Any ideas or assistance would be
greatly appreciated.
Thanks,
Pat Harris