硬汉嵌入式论坛

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

[RL-TCPnet] 关于RL_TCPnet驱动的几点疑问

[复制链接]

98

主题

340

回帖

634

积分

金牌会员

积分
634
发表于 2018-8-5 22:57:49 | 显示全部楼层 |阅读模式
折腾了几个小时,总算让RL_TCPnet在设备上跑起来了,感觉比使用LWIP省事儿多了,但也陆陆续续发现几点疑问,如下:
问题1:为何库函数对于网络地址参数开了三份缓存?
在将原有网络固定地址改成程序中可配置的时候,发现库函数声明了3份地址,但另外两份仿真发现都为0,那为何要声明3份呢?难道有什么其它用途?直接LOCALM const nlocalm=...不行吗?
RL_TCPNET库函数中没有找到专门的额配置IP的函数,如果想动态修改IP,是不是只能采用修改变量nlocalm然后重启设备或协议栈的方法?库函数提供了两个函数ip_init和ip_run_local是不是做这个使的,还有待验证。
网络地址源代码如下:
/* Local Machine info */
LOCALM const nlocalm[3] = {
/* Ethernet: Local IP address */
#if (ETH_ENABLE)
{{_IP1,_IP2,_IP3,_IP4},
  /* Default Gateway IP address */
  {_GW1,_GW2,_GW3,_GW4},
  /* Subnet IP Mask */
  {_MSK1,_MSK2,_MSK3,_MSK4},
  /* Primary DNS Server IP */
  {_pDNS1,_pDNS2,_pDNS3,_pDNS4},
  /* Secondary DNS Server IP */
  {_sDNS1,_sDNS2,_sDNS3,_sDNS4}},
#else
{{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}},
#endif

问题2:PHY用的是RMII接口,为何还要配置MAC寄存器的MCR_FES位?


        手册里面针对这个位是这么描述的“位 14 FES:快速以太网速度 (Fast Ethernet speed),指示快速以太网 (MII) 模式下的速度:0:10 Mbit/s 1:100 Mbit/s”,(实测不配置它以太网功能无法使用)。
问题3:关于网络断线的检测以及主动断开TCP连接的功能。
        终端运行的TCP服务器,建立TCP连接之后,拔掉网线十几秒左右,再插上网线,还能正常接收数据,TCP_TYPE_KEEP_ALIVE超时不是10秒吗?10秒后似乎并没有断开连接,后来拔掉网线差不多一分钟,再插上后无法接收数据了,且无法再次建立TCP连接,说明TCP服务器依然保持着上一个TCP连接。那“10秒内无数据通信将断开连接”这句话该怎么理解呢?如果主程序想在检测到断线的时候断开当前的TCP连接,该调用那个函数呢?








回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107262
QQ
发表于 2018-8-6 01:45:29 | 显示全部楼层
1、动态修改:



2、这个还真不清楚STM32是什么鬼,配上吧,防止不干活。
3、所有例子我都做了网线插拔的中断检测功能了,你看下代码,使用比较方便。
回复

使用道具 举报

98

主题

340

回帖

634

积分

金牌会员

积分
634
 楼主| 发表于 2018-8-6 09:19:58 | 显示全部楼层
按照官网的解释,看来动态修改就得使用修改变量后重启协议栈或设备的方式。
我用的是LAN8720,中断引脚用作时钟输出了,所以只能用轮训寄存器的方式去查询,再者个人感觉中断里面对PYH进行多次读操作,占用了系统调度时间,放在函数main_TcpNet()前面轮训就可以。
User Guide是个好东西,回头好好研究研究。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107262
QQ
发表于 2018-8-6 09:29:18 | 显示全部楼层
云琴箫龙 发表于 2018-8-6 09:19
按照官网的解释,看来动态修改就得使用修改变量后重启协议栈或设备的方式。
我用的是LAN8720,中断引脚用 ...

这个没关系的,多虑了,你可以进入中断后在里面发的信号量,在任务里面执行操作。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-23 12:36 , Processed in 0.208450 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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