boolean Ethernet_IsRXBIrqFlagSet(uint8 u8CtrlIdx) { uint32 u32RegisterValue; boolean bReturnValue; uint32 ETH_BASE_ADDR; if (u8CtrlIdx == 0U) { ETH_BASE_ADDR = FEC_0_BASEADDR; } #if ETH_MAXCTRLS_SUPPORTED > 1U else if (u8CtrlIdx == 1U) { ETH_BASE_ADDR = FEC_1_BASEADDR; } #endif u32RegisterValue = REG_READ32(ETH_BASE_ADDR + FEC_EIR_ADDR16); /* Check whether the bit is set */ if(FEC_EIR_RXB_U32 == (u32RegisterValue & FEC_EIR_RXB_U32)) { bReturnValue = TRUE; } else { /** @violates @ref Eth_Fec_c_REF_19 MISRA rule 11.3 */ bReturnValue = FALSE; } return bReturnValue; }
时间: 2024-04-28 07:21:53 浏览: 56
boolean operators_delphi_opportunityha8_sample_boolean_vcl_
这段代码也是关于以太网控制器的,它的功能是检查接收缓冲区中断标志是否被设置。该函数的输入参数是一个控制器的索引,它确定了要访问的以太网控制器的基地址。然后,该函数读取FEC_EIR_ADDR16寄存器的值,并使用FEC_EIR_RXB_U32定义的掩码来检查接收缓冲区中断标志是否被设置。如果设置了该标志,则bReturnValue为TRUE,否则为FALSE。
阅读全文