STM32F107 PHY换成LAN8720需要修改源码吗?

2019-12-28 17:49发布

官方方案和各大开发板都是STM32F107+DP83848,如果PHY换成LAN8720,需要修改源码吗,哪位高人知道?
觉得各大PHY芯片应该兼容,网上看到一份LAN8720 lwip的范例没看到什么地方专门针对DP83848修改的痕迹
15条回答
superrf
1楼 · 2019-12-30 05:03.采纳回答
找到了DP83848地址配置为0x01,LAN8720也配置成0x01应该可以了
#define DP83848_PHY        /* Ethernet pins mapped on STM3210C-EVAL Board */
#define PHY_ADDRESS       0x01 /* Relative to STM3210C-EVAL Board */
franki
2楼-- · 2019-12-28 22:55
代码不用修改 ,配置上要修改一下  
superrf
3楼-- · 2019-12-29 02:33
franki 发表于 2014-11-29 15:04
代码不用修改 ,配置上要修改一下

请问需要修改什么地方,什么地方能查到相关资料?
机械码农
4楼-- · 2019-12-29 04:16
phy的地址要修改吧
franki
5楼-- · 2019-12-29 08:36
superrf 发表于 2014-11-29 15:05
请问需要修改什么地方,什么地方能查到相关资料?

这个要查 你使用PHY的手册  。硬件是自己画的嘛
franki
6楼-- · 2019-12-29 12:58
 精彩回答 2  元偷偷看……
superrf
7楼-- · 2019-12-29 14:48
看到这段代码

/** @defgroup PHY_status_register
  * @{
  */
/* The PHY status register value change from a PHY to another so the user have
   to update this value depending on the used external PHY */
/**
  * @brief  For LAN8700  
  */
//#define PHY_SR                           31         /*!< Tranceiver Status Register */
/**
  * @brief  For DP83848  
  */
#define PHY_SR                           16     /*!< Tranceiver Status Register */

/* The Speed and Duplex mask values change from a PHY to another so the user have to update
   this value depending on the used external PHY */
/**
  * @brief  For LAN8700  
  */
//#define PHY_Speed_Status            ((u16)0x0004)       /*!< Configured information of Speed: 10Mbps */
//#define PHY_Duplex_Status           ((u16)0x0010)       /*!< Configured information of Duplex: Full-duplex */

/**
  * @brief  For DP83848  
  */
#define PHY_Speed_Status            ((u16)0x0002)    /*!< Configured information of Speed: 10Mbps */
#define PHY_Duplex_Status           ((u16)0x0004)    /*!< Configured information of Duplex: Full-duplex */
#define IS_ETH_PHY_ADDRESS(ADDRESS) ((ADDRESS) <= 0x20)
#define IS_ETH_PHY_REG(REG) (((REG) == PHY_BCR) ||
                             ((REG) == PHY_BSR) ||
                             ((REG) == PHY_SR))

/**--------------------------------------------------------------------------**/

一周热门 更多>