使用CH32V307 + WCHNET 实现 webserver 服务,加电后HTTP请求可以正常访问,ping也能平通,但是过了一段时间(这时间不定可能很长)后 http请求无法访问,也ping不通,程序也还在跑没有锁死,就算接收不到
有使用FreeRTOS,一个线程专门处理WCHNET ,一个线程跑业务。
请问这是什么原因引起得,可以往哪方面去排查,谢谢!
使用CH32V307 + WCHNET 实现 webserver 服务,加电后HTTP请求可以正常访问,ping也能平通,但是过了一段时间(这时间不定可能很长)后 http请求无法访问,也ping不通,程序也还在跑没有锁死,就算接收不到
有使用FreeRTOS,一个线程专门处理WCHNET ,一个线程跑业务。
请问这是什么原因引起得,可以往哪方面去排查,谢谢!
您好,我建议先长时间测试下webserver工作是否正常,使用ping xxx.xxx.xxx.xxx -t命令监测。一切正常的话再在RTOS内运行,同时添加看门狗,观察服务能否长时间运行。
长时间测试webserver(没有引入FreeRtos) 过段时间后 也无法ping通,在循环里加的指示灯闪烁也是正常的,需要重新上电才能ping通
CH32V307ETV R1的开发板运行2022.06.02的webserver时,是会出现无法ping的问题的。
我测试出来是这样的,先用一个浏览器登录并切换各个页面。然后不关闭浏览器但是关闭http页面,再用另一个浏览器打开就会发现无法打开了。再切换会原来的浏览器也无法打开,也无法ping通。
请问这是什么原因? 把这个去掉也是没问题的吧
按您发的 还是ping通一段时间之后就 ping不通了
1.关于报错问题可以查看NetLib文件夹下的wchnet.h,里面有详细的错误解释;2.按照你的描述是希望实现webserver功能,所以我的理解是不可以删除MODE_TCPSERVER的。我再给你一份更新过网络库函数的测试程序,看是否可以解决这个问题。
这个我只需要 芯片能接收到http请求返回数据就好,就不需要MODE_TCPSERVER了吧
一直ping过了1到2个小时 还是会ping不通,eth link led会灭掉;
重新插拔 板子上的网线 会进入中断打印“PHY Link Success”,eth link led亮起,可以ping通
我这边 硬件与网络环境是没问题的
所以这个会是什么原因啊,一直查不出来
您好,我想进一步了解下你的网络拓扑结构来排查问题,如果您方便的话可以把拓扑发到我的邮箱(lbw@wch.cn),我们通过邮件进一步沟通。
您好,您可以先不跑上层协议的程序,直接用一个简单的TCP_Server程序链接电脑测试,打开wireshark同步一起,电脑去PINGCH32V307的IP。如果也出现了一段时间后,无法PING通。那么您看一下307的程序,有没有触发PHY_CHANGE中断,判断物理层到底有没有出现断链(也可以通过LINK灯辅助判断),如果这样,建议您可以先查看网线以及您PCB版网络这部分的电路。如果没有出现这类现象,那么您可以查看程序这边,以太网中断还能否正常进入。以上测试建议直接链接电脑,减少外围网络环境的干扰因素。
一直就是直连电脑的,
程序的业务,是 串口6循环发送信息到1到16张业务卡中,业务卡收到信息后在返回串口信息,中间通过485传输。
第一 把代码中的业务部分去掉,然后一直ping?
第二 把完整的程序写入另外一张板子里,这张板子串口6是不会收到回传数据的,一直ping
这两种情况下 ping了一晚上 都没有断
现在怀疑是 以太网中断与串口6的中断冲突了,今天在把程序中串口6中断的配置去掉,看是否能一直ping通
我这也出现类似的问题,连续ping一天后开始ping不通, 数据连接灯是亮的,需要重新加电才可以ping上
WCHNET_SocketRecvLen 156 socket id 2
TCP Disconnect
TCP Connect Success
WCHNET_SocketRecvLen 156 socket id 2
TCP Connect Success
WCHNET_SocketRecvLen 156 socket id 2
TCP Timeout
看打印的是 tcp 连接超时了