移植RL-TCPnet V7.X的问题?
STM32F429BIT6使用DM9162移植V6-1008_RL-TCPnet V7.X实验_TCP客户端(RTX5)void netETH_Notify (uint32_t if_num, netETH_Event event, uint32_t val)
{
NET_ETH_LINK_INFO *info;
switch (event) {
case netETH_LinkDown:
if(g_ucEthLinkStatus == 2){
g_ucEthLinkStatus = 3;
}else{
/*上电后进入,进入一次*/
g_ucEthLinkStatus = 1;
}
printf_eth ("Link is down\r\n");
break;
case netETH_LinkUp:/* 进入不了???? */
g_ucEthLinkStatus = 2;
printf_eth ("Link is up\r\n");
info = (NET_ETH_LINK_INFO *)&val;
switch (info->speed) {
case 0:
printf_eth ("10 MBit\r\n");
break;
case 1:
printf_eth ("100 MBit\r\n");
break;
case 2:
printf_eth ("1 GBit\r\n");
break;
}
switch (info->duplex) {
case 0:
printf_eth ("Half duplex\r\n");
break;
case 1:
printf_eth ("Full duplex\r\n");
break;
}
break;
case netETH_Wakeup:
printf_eth ("Wakeup frame received\r\n");
break;
case netETH_TimerAlarm:
printf_eth ("Timer alarm\r\n");
break;
}
}
是硬件的问题吗?
有可能,测量下你硬件的PHY芯片输出2.5V/1.8V那个引脚正常不 本帖最后由 magicoctoier 于 2021-4-30 14:54 编辑
eric2013 发表于 2021-4-30 09:38
有可能,测量下你硬件的PHY芯片输出2.5V/1.8V那个引脚正常不
DM9162的1脚和2脚输出1.76V,读DM9162的ID也是正确的,但是就是检测不到网线插入和拔出。
读DM9162的01寄存器,值=0x7849
1脚和2脚电压1.76V,可以正确读到DM9162的ID,读00寄存器,值0x1000,读01寄存器,值0x7849。
网线插入,上电,检测不到网线接入。
magicoctoier 发表于 2021-4-30 15:17
1脚和2脚电压1.76V,可以正确读到DM9162的ID,读00寄存器,值0x1000,读01寄存器,值0x7849。
网线插入 ...
首先一定要确保没有虚焊。
然后你看下你的这个芯片的DM9162的后缀是什么,可以手动读取下连接状态寄存器试试
另外你可以降低9162所涉及到GPIO速度等级,设置为low试试。
初始化DM9162,可以读到DM9162的设备ID,配置为“自动协商”的时候,总是无法成功(问题出在此处?),读BMSR寄存器的时候读出来的永远都是默认值0x00007849,可以确认写PHY及读PHY是没有问题,现象是2个状态灯会闪烁一次。
magicoctoier 发表于 2021-5-2 22:12
初始化DM9162,可以读到DM9162的设备ID,配置为“自动协商”的时候,总是无法成功(问题出在此处?),读BM ...
最后确定是晶振的问题 magicoctoier 发表于 2021-5-7 09:32
最后确定是晶振的问题
谢谢告知最终原因。
页:
[1]