打印

2410开发板,裸机运行,CS8900A不产生中断,怎么办?

[复制链接]
2686|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
32位处理器|  楼主 | 2007-1-24 11:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CS8900A自身用IRQ0输出中断,接2410的EINT8。我用H-JTAG + WIGGLER调试。

CS8900A的初始化设置(用MEMORY MODE访问):

LINE_CTL &= ~(AUI_ONLY | AUI_AUTO);
INDI_ADDR56 = 0x0506;    //MAC  01-02-03-04-05-06
INDI_ADDR34 = 0x0304;
INDI_ADDR12 = 0x0102;
RX_CTL |= (RX_OK_A | INDI_ADR_A | PROMISCUOUS_A | BROADCAST_A);
RX_CFG |= (RX_OK_IE | BUFFER_CRC);
BUF_CFG |= (RX_MISS_IE);
LINE_CTL |= (SER_RX_ON | SER_TX_ON);    
INTCH = 0x0000;    //use IRQ0    
BUS_CTL |= (ENABLE_IRQ);

2410关于中断的设置:

GPGCON = 0x55555556;    //select EINT8 for cs8900a
EXTINT1 = 0x22222221;    //cs8900a irq active high
EINTMASK &= ~(1 << 8);
INTMSK &= ~(INT_TIMER4 | INT_UART0 | INT_EINT8_23);    //enable timer4 ,uart0 ,eint8 irq
INTSUBMSK &= ~(INT_RXD0);

已经确认的情况:
1. 定时器4和串口0的中断是正常的。
2. 用查询方式可以查询到CS8900A的ID:630E,可以正确接收完整的以太网帧。
3. 如果将CS8900A的中断输出改为IRQ1,即等于将2410的EINT8悬空,那么EINT8的外中断处理被频繁触发。
4. 将EINT8的管脚GPG0设置为GPIO输入,并不断读取该管脚的电平,始终为低。(我没有示波器)

我的问题是:为什么不能通过外部中断接收CS8900A的数据?我认为是CS8900A不产生中断。

各位请指教。




相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

17

帖子

1

粉丝