OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6357|回复: 5

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

[复制链接]

6

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-1-30
在线时间
10 小时
发表于 2015-12-26 14:14:00 | 显示全部楼层 |阅读模式
自己画的板子,原理图的以太网部分完全照搬探索者的电路。 用网络调试助手可以正常的收发数据。但是现在发现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\r\n",data);
        osDelay(200);
        HAL_ETH_ReadPHYRegister(&heth,0x01,&data);
        printf("0x01=%x\r\n",data);
        osDelay(200);
        HAL_ETH_ReadPHYRegister(&heth,0x02,&data);
        printf("0x02=%x\r\n",data);
        osDelay(200);
        HAL_ETH_ReadPHYRegister(&heth,0x03,&data);
        printf("0x03=%x\r\n",data);
        osDelay(200);
        HAL_ETH_ReadPHYRegister(&heth,0x04,&data);
        printf("0x04=%x\r\n",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,0x05,&data);
        printf("0x05=%x\r\n",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,0x06,&data);
        printf("0x06=%x\r\n",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,17,&data);
        printf("17=%x\r\n",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,18,&data);
        printf("18=%x\r\n",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,0x09,&data);
        printf("0x09=%x\r\n",data);
        osDelay(200);       
        HAL_ETH_ReadPHYRegister(&heth,0x1f,&data);
        printf("0x1f=%x\r\n",data);


                osDelay(3000);
               
        }  /* USER CODE END 5 */
  }
[/mw_shl_code]
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-1-30
在线时间
10 小时
 楼主| 发表于 2015-12-26 16:08:17 | 显示全部楼层
回复 支持 反对

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-12-26 17:18:53 | 显示全部楼层
参考我们的LAN8720的代码。读寄存器还是很容易的
开往春天的手扶拖拉机
回复 支持 反对

使用道具 举报

6

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-1-30
在线时间
10 小时
 楼主| 发表于 2015-12-28 19:31:41 | 显示全部楼层
zuozhongkai 发表于 2015-12-26 17:18
参考我们的LAN8720的代码。读寄存器还是很容易的

谢谢啦  原因找见了  是8720没焊接好   
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2016-1-6
在线时间
4 小时
发表于 2016-1-9 16:23:37 | 显示全部楼层
可以分享一下原理图吗,也要用LAN8720做类似的项目
回复 支持 反对

使用道具 举报

6

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-1-30
在线时间
10 小时
 楼主| 发表于 2016-2-13 00:39:22 | 显示全部楼层
HANGM 发表于 2016-1-9 16:23
可以分享一下原理图吗,也要用LAN8720做类似的项目

eth和原子哥的一模一样
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 02:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表