求助:lan8720可以收发数据,但是读不到寄存器

2019-07-20 23:49发布

自己画的板子,原理图的以太网部分完全照搬探索者的电路。 用网络调试助手可以正常的收发数据。但是现在发现stm32读不到PHY的寄存器内容,求助大家这是怎么回事

代码是用cubemx生成后修改的。目前以太网可以ping通,可以正常收发数据,但是单片机读8720的寄存器得到的内容如下:
0x00=0
0x01=ffff
0x02=0
0x03=ffff
0x04=0
0x05=ffff
0x06=0
17=ffff
18=0
0x09=ffff
0x1f=ffff


以下是相关代码
[mw_shl_code=applescript,true]void StartDefaultTask(void const * argument)
{
  /* init code for LWIP */
  MX_LWIP_Init();

  /* USER CODE BEGIN 5 */
        uint32_t data;
       
        osThreadDef(tcp_client_thread, tcp_client_thread, osPriorityNormal, 0, 128);
  defaultTaskHandle = osThreadCreate(osThread(tcp_client_thread), NULL);
       
        /* Infinite loop */
  for(;;)
  {
       
                HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_10);

        HAL_ETH_ReadPHYRegister(&heth,0x00,&data);
        printf("0x00=%x ",data);
        osDelay(200);
        HAL_ETH_ReadPHYRegister(&heth,0x01,&data);
        printf("0x01=%x ",data);
        osDelay(200);
        HAL_ETH_ReadPHYRegister(&heth,0x02,&data);
        printf("0x02=%x ",data);
        osDelay(200);
        HAL_ETH_ReadPHYRegister(&heth,0x03,&data);
        printf("0x03=%x ",data);
        osDelay(200);
        HAL_ETH_ReadPHYRegister(&heth,0x04,&data);
        printf("0x04=%x ",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,0x05,&data);
        printf("0x05=%x ",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,0x06,&data);
        printf("0x06=%x ",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,17,&data);
        printf("17=%x ",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,18,&data);
        printf("18=%x ",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,0x09,&data);
        printf("0x09=%x ",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,0x1f,&data);
        printf("0x1f=%x ",data);


                osDelay(3000);
               
        }  /* USER CODE END 5 */
  }
[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。