初级会员
- 积分
- 77
- 金钱
- 77
- 注册时间
- 2016-2-21
- 在线时间
- 16 小时
|
发表于 2016-8-11 00:37:15
|
显示全部楼层
本帖最后由 student 于 2016-8-11 00:42 编辑
依我理解,分为DMA中断,和PHY引脚的外部中断
ST官方例程使用外部中断连接PHY的INT中断,触发这个中断的事件为:
MII Interrupt Status and Misc. Control Register (MISR)寄存器中指出的事件LINK_INT。。。。和RMII传数据没有关系,
例程中:处理外部中断,
void EXTI15_10_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line15) != RESET) // 此为一个按键,按键按下的时候电泳UDP函数处理
{
if (EthLinkStatus == 0)
{
/* Connect to tcp server */
udp_echoclient_connect();
}
/* Clear the EXTI line pending bit */
EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE);
}
if(EXTI_GetITStatus(ETH_LINK_EXTI_LINE) != RESET) //此为PHY中断,
{
Eth_Link_ITHandler(DP83848_PHY_ADDRESS);
/* Clear interrupt pending bit */
EXTI_ClearITPendingBit(ETH_LINK_EXTI_LINE);
}
}
DMA中断时STM32F4中的内部中断,当MAC把一帧数据传输到DMA描述符时,出发DMA中断,让CPU把数据从描述符中读出,
所以DMA中断也跟RMII传送数据没有关系
|
|