新手入门
- 积分
- 9
- 金钱
- 9
- 注册时间
- 2016-2-28
- 在线时间
- 1 小时
|
1金钱
FrameTypeDef ETH_Rx_Packet(void)
{
u32 framelength=0;
FrameTypeDef frame={0,0};
if((DMARxDescToGet->StatusÐ_DMARxDesc_OWN)!=(u32)RESET)
{
frame.length=ETH_ERROR;
if ((ETH->DMASRÐ_DMASR_RBUS)!=(u32)RESET)
{
ETH->DMASR = ETH_DMASR_RBUS
ETH->DMARPDR=0
}
return frame;
}
if(((DMARxDescToGet->StatusÐ_DMARxDesc_ES)==(u32)RESET)&&
((DMARxDescToGet->Status & ETH_DMARxDesc_LS)!=(u32)RESET)&&
((DMARxDescToGet->Status & ETH_DMARxDesc_FS)!=(u32)RESET))
{
framelength=((DMARxDescToGet->StatusÐ_DMARxDesc_FL)>>ETH_DMARxDesc_FrameLengthShift)-4;
frame.buffer = DMARxDescToGet->Buffer1Addr;
}else framelength=ETH_ERROR;
frame.length=framelength;
frame.descriptor=DMARxDescToGet;
DMARxDescToGet=(ETH_DMADESCTypeDef*)(DMARxDescToGet->Buffer2NextDescAddr);
return frame;
}
|
|