高级会员

- 积分
- 556
- 金钱
- 556
- 注册时间
- 2020-3-6
- 在线时间
- 77 小时
|
1金钱
数据手册上说可以通过硬件引脚配置来确定地址为0或1,默认地址是0,初始化的时候通过判断引脚电平来确定地址值,也可以通过软件来配置地址,通过特殊模式寄存器的PHYAD位写入地址
那么如果硬件配置和软件配置不一致的时候会怎样?比如说硬件引脚上配置下拉电阻(默认地址应该为0),初始化程序里却向地址位里写入了1.
我是不是可以这么理解,初始化的时候结构体ETH_InitTypeDef里的PhyAddress即使不配置也没关系,初始化程序会默认通过判断PHYAD0的引脚电平来确定8720的地址;而即使PHYAD0引脚硬件上配置了上拉或者下拉,如果初始化程序往PhyAddress里写入了其它地址,最终是以软件写入的地址值为准的,比如说硬件引脚上配置了下拉电阻,那么地址应该默认是0,在这种情况下如果初始化程序PhyAddress里写入了1,那么这时地址应该是1,最终是以软件配置为准的,硬件配置只在软件不配置时才生效,不知道我这么理解对不对?
|
|