初级会员 
  
	- 积分
 - 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传送数据没有关系 
 
 
 |   
 
 
 
 |