請問ch32v203 以太網(wǎng)接收中斷只會觸發(fā)3次是怎么回事

? ? eth_irq_flag = R8_ETH_EIR;

? ? if(eth_irq_flag&RB_ETH_EIR_RXIF)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //Receive complete

? ? {

? ? ? ? R8_ETH_EIR = RB_ETH_EIR_RXIF;

? ? ? ? /* Check if the descriptor is owned by the ETHERNET DMA */

? ? ? ? if( DMARxDescToGet->Status & ETH_DMARxDesc_OWN )

? ? ? ? {

? ? ? ? ? ? estat_regval = R8_ETH_ESTAT;

? ? ? ? ? ? if(estat_regval & \

? ? ? ? ? ? ? ? ? ? (RB_ETH_ESTAT_BUFER | RB_ETH_ESTAT_RXCRCER | RB_ETH_ESTAT_RXNIBBLE | RB_ETH_ESTAT_RXMORE))

? ? ? ? ? ? {

? ? ? ? ? ? ? ? return;

? ? ? ? ? ? }

? ? ? ? ? ? if( ((ETH_DMADESCTypeDef*)(DMARxDescToGet->Buffer2NextDescAddr))->Status& ETH_DMARxDesc_OWN )

? ? ? ? ? ? {

? ? ? ? ? ? ? ? DMARxDescToGet->Status &= ~ETH_DMARxDesc_OWN;

? ? ? ? ? ? ? ? DMARxDescToGet->Status &= ~ETH_DMARxDesc_ES;

? ? ? ? ? ? ? ? DMARxDescToGet->Status |= (ETH_DMARxDesc_FS|ETH_DMARxDesc_LS);

? ? ? ? ? ? ? ? DMARxDescToGet->Status &= ~ETH_DMARxDesc_FL;

? ? ? ? ? ? ? ? DMARxDescToGet->Status |= ((R16_ETH_ERXLN+4)<


? ? ? ? ? ? ? ? u8 data[100];

? ? ? ? ? ? ? ? u16 len = R16_ETH_ERXLN;

? ? ? ? ? ? ? ? memcpy(data, (u8*)DMARxDescToGet->Buffer1Addr, len);

? ? ? ? ? ? ? ? ETH_RX(data, len);


? ? ? ? ? ? ? ? /* Update the ETHERNET DMA global Rx descriptor with next Rx descriptor */

? ? ? ? ? ? ? ? /* Selects the next DMA Rx descriptor list for next buffer to read */

? ? ? ? ? ? ? ? DMARxDescToGet = (ETH_DMADESCTypeDef*) (DMARxDescToGet->Buffer2NextDescAddr);

? ? ? ? ? ? ? ? R16_ETH_ERXST = DMARxDescToGet->Buffer1Addr;

? ? ? ? ? ? }

? ? ? ? }

? ? }



如題

卡在


if( ((ETH_DMADESCTypeDef*)(DMARxDescToGet->Buffer2NextDescAddr))->Status& ETH_DMARxDesc_OWN )


您好,我使用例程測試是可以一直進(jìn)中斷的,您可以下載我們官網(wǎng)的例程試一下,后續(xù)有問題可以通過郵箱聯(lián)系:kx@wch.cn


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频