|
|
- 多串口不通的问题,请高手指教啊!!
作者:fatfox 时间:2006-5-30 19:13:40
我的pc104板有4个串口,我看过手册前2个和后2个串口的硬件实现芯片不同后两个是M5113芯片上的,但是都说兼容16550,在vxWorks里面前2个串口使用正常了,我现在想把后2个串口用起来于是按照书上说法做了如下工作:
在pc.h里面增加了COM3、COM4的中断号和地址定义:
#define COM3_BASE_ADR 0x3e8
#define COM4_BASE_ADR 0x2e8
#define COM3_INT_LVL 0x11
#define COM4_INT_LVL 0x10
以上的数字是按照pc104主板BIOS里面的设置写的。
在config.h里面增加了COM3、COM4的的中断向量定义:
#define COM3_INT_VEC (INT_VEC_GET (COM3_INT_LVL))
#define COM4_INT_VEC (INT_VEC_GET (COM4_INT_LVL))
在sysSerail.c里面增加了COM3、COM4的设备描述:
{COM3_INT_VEC,COM3_BASE_ADR,UART_REG_ADDR_INTERVAL,COM3_INT_LVL}, {COM4_INT_VEC,COM4_BASE_ADR,UART_REG_ADDR_INTERVAL,COM4_INT_LVL}
在sysLib.h里的sysHwInit2()函数里面屏蔽了LPT1的中断绑定,以免和com3冲突:
/* (void)intConnect ( INUM_TO_IVEC (LPT_INT_VEC), sysStrayInt, 0 ) */
可是这后2个串口不论读写都没有反映。用devs命令查看已经存在设备名:"/tyCo/2和/tyCo/3",而当open的时候也没有出错。write返回值大小也是正确的,已经吧波特率设定在9600,模式设定在原始模式,可是台式机上的串口调试助手就是没有收到。
请问我得问题处在哪里??还需要做什么工作呢??
多谢指教!!不胜感激!
这是我板子的硬件结构:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|