硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2910|回复: 1
收起左侧

[RL-TCPnet V7.X] RL-TCPnet V7.X底层消息函数netETH_Notify已经考虑到多网口的处理

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2020-5-12 10:37:40 | 显示全部楼层 |阅读模式



第1个参数if_num是用来识别多网口的。

  1. /*
  2. *********************************************************************************************************
  3. *        函 数 名: netETH_Notify
  4. *        功能说明: 以太网状态消息
  5. *        形    参: ---
  6. *        返 回 值: 无
  7. *********************************************************************************************************
  8. */
  9. void netETH_Notify (uint32_t if_num, netETH_Event event, uint32_t val)
  10. {
  11.         NET_ETH_LINK_INFO *info;

  12.         switch (event)
  13.         {
  14.                 case netETH_LinkDown:
  15.                         if(g_ucEthLinkStatus == 2)
  16.                         {
  17.                                 g_ucEthLinkStatus = 3;
  18.                         }
  19.                         else
  20.                         {
  21.                                 g_ucEthLinkStatus = 1;
  22.                         }
  23.                         printf_eth ("Link is down\r\n");
  24.                         break;
  25.                
  26.                 case netETH_LinkUp:
  27.                         g_ucEthLinkStatus = 2;
  28.                         printf_eth ("Link is up\r\n");
  29.                         info = (NET_ETH_LINK_INFO *)&val;
  30.                        
  31.                         switch (info->speed)
  32.                         {
  33.                                 case 0:
  34.                                         printf_eth ("10 MBit\r\n");
  35.                                         break;
  36.                                
  37.                                 case 1:
  38.                                         printf_eth ("100 MBit\r\n");
  39.                                         break;
  40.                                
  41.                                 case 2:
  42.                                         printf_eth ("1 GBit\r\n");
  43.                                         break;
  44.                         }
  45.                        
  46.                         switch (info->duplex)
  47.                         {
  48.                                 case 0:
  49.                                         printf_eth ("Half duplex\r\n");
  50.                                         break;
  51.                                 case 1:
  52.                                         printf_eth ("Full duplex\r\n");
  53.                                         break;
  54.                         }
  55.                         break;
  56.                
  57.                 case netETH_Wakeup:
  58.                         printf_eth ("Wakeup frame received\r\n");
  59.                         break;
  60.                
  61.                 case netETH_TimerAlarm:
  62.                         printf_eth ("Timer alarm\r\n");
  63.                         break;
  64.         }
  65. }
复制代码

回复

使用道具 举报

3

主题

1225

回帖

1234

积分

至尊会员

积分
1234
发表于 2020-5-12 11:18:50 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 11:07 , Processed in 0.235894 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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