Quote:
Originally Posted by
jferreira
Hi,
In file Libraries/XMCLib/src/xmc_eth_phy_dp83848.c, in function XMC_ETH_PHY_Init() replace
Code:
/* PHY initialize */
int32_t XMC_ETH_PHY_Init(XMC_ETH_MAC_t *const eth_mac, uint8_t phy_addr, const XMC_ETH_PHY_CONFIG_t *const config)
{
int32_t status;
uint16_t reg_val;
status = XMC_ETH_PHY_IsDeviceIdValid(eth_mac, phy_addr);
...
by
Code:
/* PHY initialize */
int32_t XMC_ETH_PHY_Init(XMC_ETH_MAC_t *const eth_mac, uint8_t phy_addr, const XMC_ETH_PHY_CONFIG_t *const config)
{
uint32_t retries = 0xffffffffUL;
int32_t status;
uint16_t reg_val;
while (((status = XMC_ETH_PHY_IsDeviceIdValid(eth_mac, phy_addr)) != XMC_ETH_PHY_STATUS_OK) && --retries);
...
Regards,
Jesus
wow, it works very well!!! thank you very much, but would you like to tell me the reason or simply explain for me ?
because for a designer, it's happy to solve a bug, but it's confused that why would this happen and what should do next?
Thanks againï¼write soon.
Best regards,
DB.king