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

[复制链接]
3624|0
 楼主| 32位处理器 发表于 2007-1-24 11:44 | 显示全部楼层 |阅读模式
CS8900A自身用IRQ0输出中断,接2410的EINT8。我用H-JTAG&nbsp;+&nbsp;WIGGLER调试。<br /><br />CS8900A的初始化设置(用MEMORY&nbsp;MODE访问):<br /><br />LINE_CTL&nbsp;&=&nbsp;~(AUI_ONLY&nbsp;|&nbsp;AUI_AUTO);<br />INDI_ADDR56&nbsp;=&nbsp;0x0506;&nbsp;&nbsp;&nbsp;&nbsp;//MAC&nbsp;&nbsp;01-02-03-04-05-06<br />INDI_ADDR34&nbsp;=&nbsp;0x0304;<br />INDI_ADDR12&nbsp;=&nbsp;0x0102;<br />RX_CTL&nbsp;|=&nbsp;(RX_OK_A&nbsp;|&nbsp;INDI_ADR_A&nbsp;|&nbsp;PROMISCUOUS_A&nbsp;|&nbsp;BROADCAST_A);<br />RX_CFG&nbsp;|=&nbsp;(RX_OK_IE&nbsp;|&nbsp;BUFFER_CRC);<br />BUF_CFG&nbsp;|=&nbsp;(RX_MISS_IE);<br />LINE_CTL&nbsp;|=&nbsp;(SER_RX_ON&nbsp;|&nbsp;SER_TX_ON);&nbsp;&nbsp;&nbsp;&nbsp;<br />INTCH&nbsp;=&nbsp;0x0000;&nbsp;&nbsp;&nbsp;&nbsp;//use&nbsp;IRQ0&nbsp;&nbsp;&nbsp;&nbsp;<br />BUS_CTL&nbsp;|=&nbsp;(ENABLE_IRQ);<br /><br />2410关于中断的设置:<br /><br />GPGCON&nbsp;=&nbsp;0x55555556;&nbsp;&nbsp;&nbsp;&nbsp;//select&nbsp;EINT8&nbsp;for&nbsp;cs8900a<br />EXTINT1&nbsp;=&nbsp;0x22222221;&nbsp;&nbsp;&nbsp;&nbsp;//cs8900a&nbsp;irq&nbsp;active&nbsp;high<br />EINTMASK&nbsp;&=&nbsp;~(1&nbsp;&lt&lt&nbsp;8);<br />INTMSK&nbsp;&=&nbsp;~(INT_TIMER4&nbsp;|&nbsp;INT_UART0&nbsp;|&nbsp;INT_EINT8_23);&nbsp;&nbsp;&nbsp;&nbsp;//enable&nbsp;timer4&nbsp;,uart0&nbsp;,eint8&nbsp;irq<br />INTSUBMSK&nbsp;&=&nbsp;~(INT_RXD0);<br /><br />已经确认的情况:<br />1.&nbsp;定时器4和串口0的中断是正常的。<br />2.&nbsp;用查询方式可以查询到CS8900A的ID:630E,可以正确接收完整的以太网帧。<br />3.&nbsp;如果将CS8900A的中断输出改为IRQ1,即等于将2410的EINT8悬空,那么EINT8的外中断处理被频繁触发。<br />4.&nbsp;将EINT8的管脚GPG0设置为GPIO输入,并不断读取该管脚的电平,始终为低。(我没有示波器)<br /><br />我的问题是:为什么不能通过外部中断接收CS8900A的数据?我认为是CS8900A不产生中断。<br /><br />各位请指教。<br /><br /><br /><br /><br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

17

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部