最近用8201做phy适配stm32 网络功能正常,唯独网口灯黄色(LED0)灯不亮。默认LED的功能11模式是LED1 100M LED0 10M 因为现在的网络环境都是100M起步的,所以怎么测试都不亮。调整模式00功能正常了。 折腾了许久,记录下过程吧。
tmpreg = ETH_ReadPHYRegister(PHYAddress, PHY_MICR);// 19 0XDE21 //以为直接读写就可以,实际是错误的。
这里需要先选择页。然后在选择要访问寄存器 。
ETH_WritePHYRegister(PHYAddress, 0x1f, 0x07);//Write page 07
tmpreg=ETH_ReadPHYRegister(PHYAddress, PHY_MICR);// Read Register19
tmpreg &= (uint16_t)(0XFFCF); //led_set=00
ETH_WritePHYRegister(PHYAddress, PHY_MICR, tmpreg);//Write Register19
ETH_WritePHYRegister(PHYAddress, 0x1f, 0x00); Write Page0
下面是读取的寄存器的值默认Page 0
// 0 1 2 3 4 5 6 7 8 9 0X0A/10
// 3100,786D,001C,C816,01E1, CDE1,000F, 0000 ,0000/5802, 0000, 0000
// 0x0B/11 0X0C/12 0X0D/13,0X0E/14,0X0F/15, 0X10/16, 0X11/17,0X12/18,0X13/19,0X14/20,
// 0000, 0000, 0000, 0000, 0000, 031F, 1F10, 0012, DE21, 3E3E,
// 0X15/21,0X16/22,0X17/23,0X18/24 0X19/25 0X1A/26 0X1B/27 0X1C/28
// 02C5 ,5B85 0001 8310 0000 4000 4F0B 40C6文章来源:https://www.toymoban.com/news/detail-693022.html
还是需要仔细看文档不能随意一带而过。文章来源地址https://www.toymoban.com/news/detail-693022.html
到了这里,关于rtl8201/SR8201F网口灯不亮的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!