怎样配置ISA多串口卡的驱动

 

    在需要扩充有限的串口情况下,可以利用ISA多串口卡作为实施方案,这样可以避免重新编写驱动程序和为只有卡而没有BSP开发包苦恼。当然,这种方法也有不足的地方,就是一般不能共享中断,资源有限,限制不能扩展比较多的串口。在PB中,自带了一个本机样本串口驱动程序,利用该驱动能够配置3个串口,除去用着调试用的串口(3F8H),分别为(2F8H,3E8H,2E8H),一般主板支持2个串口,另外一个就必须另外添加硬件来满足。

     如果还想配置一个串口使用,又不想更改(3F8H)的作用,可以找一个ISA多串口卡,要求该卡可以通过调线自动选择除去这四个地址外的地址,例如250H,中断也可以通过跳线选择。一般IRQ3、IRQ4分配给了2F8H、3E8H,IRQ5分配给2E8H。这样第四个串口可以选择250H、IRQ7作为硬件资源。

     在PB中需要作如下修改:

 1、在工程设置中添加编译环境信息:

Variablevalue
BSP_SERIAL4 1

 2、在platform.reg修改注册表两处:

[HKEY_LOCAL_MACHINE/Drivers/Resources/IO]
"Identifier"=dword:2
"Minimum"=dword:0
"Space"=dword:10000
IF BSP_NOSERIAL
"Ranges"="0-0x5F,0x65-0x277,0x284-0x38F,0x392-0x3DF,0x3E2-0xFFFF"
ENDIF ; BSP_NOSERIAL
IF BSP_NOSERIAL !
"Ranges"="0-0x5F,0x65-0x277,0x284-0x2F7,0x300-0x38F,0x392-0x3DF,0x3E2-0xFFFF"
ENDIF ; BSP_NOSERIAL !
IF BSP_SERIAL2
"Ranges"="0-0x5F,0x65-0x277,0x284-0x2F7,0x300-0x38F,0x392-0x3DF,0x3E2-0x3E7,0x3F0-0xFFFF"
ENDIF ; BSP_SERIAL2
IF BSP_SERIAL3
"Ranges"="0-0x5F,0x65-0x277,0x284-0x2E7,0x2F0-0x2F7,0x300-0x38F,0x392-0x3DF,0x3E2-0x3E7,0x3F0-0xFFFF"
ENDIF ; BSP_SERIAL3
IF BSP_SERIAL4
"Ranges"="0-0x5F,0x65-0x277,0x284-0x2E7,0x2F0-0x2F7,0x300-0x38F,0x392-0x3DF,0x3E2-0x3E7,0x3F0-0xFFFF"
ENDIF ; BSP_SERIAL4

 

 

IF BSP_SERIAL4
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/Serial4]
"SysIntr"=dword:17
"IoBase"=dword:0250
"IoLen"=dword:8
"DeviceArrayIndex"=dword:2
"Prefix"="COM"
"Dll"="Com16550.Dll"
"Order"=dword:0

[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/Serial4/Unimodem]
"Tsp"="Unimodem.dll"
"DeviceType"=dword:0
"FriendlyName"=LOC_FRIENDLYNAME_SERIAL4
"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
ENDIF BSP_SERIAL4

     至于注册表中的各项信息的含义可参考Windows CE下驱动程序开发基础

 3、在intltrns文件夹中的cepc.str添加如下信息:

//------------------------------------------------------------------------------
// [HKEY_LOCAL_MACHINE/Drivers/BuiltIn/Serial4]
#define LOC_FRIENDLYNAME_SERIAL4 "COM4 上的串行电缆:"

    然后重新编译,就OK了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HalfMonk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值