大连网站前端制作公司神马移动排名优化

张小明 2026/3/22 4:30:21
大连网站前端制作公司,神马移动排名优化,个人做电影网站有什么风险,无广告免费追剧软件W5500是韩国公司WIZNET出品的爆款网络芯片#xff0c;它集成了TCP/IP协议栈和以太网PHY接口#xff0c;能让不具备网络功能的单片机通过 SPI 接口便捷地实现上网功能#xff0c;目前国内兼容的芯片有沁恒公司的CH394。我最近开发的一款数据采集卡产品就是使用STM32F103ZET6W…W5500是韩国公司WIZNET出品的爆款网络芯片它集成了TCP/IP协议栈和以太网PHY接口能让不具备网络功能的单片机通过 SPI 接口便捷地实现上网功能目前国内兼容的芯片有沁恒公司的CH394。我最近开发的一款数据采集卡产品就是使用STM32F103ZET6W5500实现了网络功能网络部分代码由野火开发板配套提供而野火的代码也是在官方代码基础上修改而来。使用配套代码很容易就实现了我的应用但是在稳定性测试中也发现了一些问题下面就是遇到的问题以及解决办法。1. 拔插网线后无法再次连接建立连接成功后将网线拔插模拟网络故障结果在网线插上后可以PING通但是连接一直超时通过单片机的调试串口输出可以看出W5500的状态一直处于SOCK_ESTABLISHED说明它没有收到网络断开的通知。网上搜索解决方法需要启动Keep-Alive功能因此在网络初始化代码中添加相应代码启动Keep-Alive功能启动Keep-Alive功能函数声明如下//s参数表示对应的socket号times参数表示超时次数void setSn_KPALVTR(SOCKET s, uint8 times);函数定义如下void setSn_KPALVTR(SOCKET s, uint8 times){//IINCHIP_WRITE是官方提供的寄存器操作函数//官方手册中每个时间单位是5Stimes1表示检验周期是5SIINCHIP_WRITE(Sn_KPALVTR(s),times);}官方手册描述如下Sn_KPALVTR 配置了 SOCKET n 的‘KEEP ALIVE(KA)’在线验证心跳包传输时间。他只在TCP模式下生效在其他模式下将会被忽略。单位时间为5秒。KA 包会在Sn_SR变为SOCK_ESTABLISHED 且与对方至少进行过一次收或发的通讯后进行传输。如果‘Sn_KPALVTR 0’W5500 在一定时间周期会自动传输 KA包以检查 TCP 的连接状态自动在线验证。如果‘Sn_KPALVTR 0’将不会启动自动在线验证主机可以通过 SEND_KEEP 配置命令发送 KA 包手动在线验证。在‘Sn_KPALVTR 0’时将会无视手动在线验证。如果对方不能在超时计数期内反馈在线心跳包这个连接将会被关闭并触发超时中断。从官方手册来看下面的代码应该是最长5S超时计数秒数后就关闭连接程序超时计数描述设置的是32秒拔掉网线后测试了几次基本都是36、37秒W5500的socket变成关闭连接状态符合预期。//0是SOCKET,也就是W5500的通道0setSn_KPALVTR(0, 1);也可以手动发送心跳包函数如下我的代码中没有手动发送主要是没想好发送的时机所以还是设置自动发送更简单//发送心跳包函数声明void sendKA(SOCKET s);//发送心跳包函数定义void sendKA(SOCKET s){IINCHIP_WRITE(Sn_CR(s),Sn_CR_SEND_KEEP);}拔掉网线后需要等待半分钟多才能再次连接上这个时间还是有些长如果能检测到网线断开后马上就关闭连接这样就可以在插上网线后快速的进行连接从而提升用户体验。 检测网络断开的代码如下为了节约系统开销这里使用了宏定义#define NET_DISCONNECT ((IINCHIP_READ(PHYCFGR) 0x01) 0)NET_DISCONNECT可以直接当作布尔变量使用断开为真连接为假。在检测到网络断开后直接使用close函数关闭对应socket就可以让单片机马上处于等待连接的状态。2. 卡在SOCK_SYNRECV很长时间上位机windows操作系统使用VS2022的C编程设置断线重连有的时候能马上连接有的时候要等半分钟才能连接成功查看单片机的调试串口输出可以看到W5500的网络状态卡在了SOCK_SYNRECV处很长时间直到超时关闭连接后上位机才能再次连接成功。将上位机连接超时从1秒改成5秒后连接延迟的现象有所改善但是仍然会出现估计是在单片机等待连接再次建立的时候刚好出现在超时临界点导致接收不到SOCK_SYNRECV的应答信号就一直卡在那里了决定使用下面的思路解决。添加SOCK_SYNRECV超时判断W5500进入SOCK_LISTEN状态后复位超时进入SOCK_SYNRECV状态后开始计时如果计时时间到仍然处在SOCK_SYNRECV状态中则关闭socket。相关函数与代码如下//函数声明uint8 SYNRECVTimeOut(uint8 resetTime,uint16 timeOutMS);//resetTime0表示不复位超时定时器//resetTime1表示复位超时定时器//timeOutS是超时秒数//函数定义uint8 SYNRECVTimeOut(uint8 resetTime,uint16 timeOutMS){static uint64_t lastMS 0;if (resetTime) {lastMS get_ms();}else {if (get_ms() - lastMS timeOutMS)return 1;}return 0;}//网络处理代码片段……case SOCK_LISTEN://复位超时定时器SYNRECVTimeOut(1, 0);break;case SOCK_SYNRECV://此状态超过1S则关闭端口if (SYNRECVTimeOut(0, 1000))close(SOCK_TCPS);break;……经过上面两个处理拔插数据采集卡的网线上位机重连基本都可以在1秒内完成。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

想要注册一个公司网站怎么做深圳航空公司

MOPSO-PID/多目标粒子群优化PID/Simulink多目标粒子群整定PID参数/MOPSO寻优多目标PID参数 传统粒子群整定PID参数的适应度目标只有一个(如ITAE指标),如果想综合考虑被控对象的超调、响应速度、误差等指标,就需要运用到多目标粒子群算法来权衡选择。 内容…

张小明 2026/3/12 11:24:50 网站建设

wordpress的伪静太文件兰州搜索引擎优化

Nagios网络监控全攻略 1. Nagios初步运行与问题解决 当你成功启动Nagios并开始监控本地主机时,这是一个良好的开端。不过,在使用过程中可能会遇到一些问题。 1.1 配置文件命名规则 Nagios配置文件的命名可以随心所欲,但必须以 .cfg 为扩展名,这是必要条件。 1.2 “T…

张小明 2026/1/22 14:38:04 网站建设

山西做网站费用导航网站建设

《决裁者:失落前哨》是一款融合了生存、射击与探索元素的第三人称/第一人称动作冒险游戏,英文名为 Slaughter: The Lost Outpost。游戏背景设定在一个秩序崩溃、暴徒横行的末世荒岛或外星球监狱,玩家扮演被称为“异端”的战士罗素&#xff0c…

张小明 2026/1/22 14:37:33 网站建设

做平台网站产品上传杭州公司vi设计

TLS 加密通信落地实操:为 TCP 服务器集成 mbedtls 的 7 步安全加固法 mbedtls(前身 PolarSSL)是轻量级加密库,适配嵌入式 / 服务器端 TCP 通信场景,以下 7 步流程从环境搭建到安全加固,完整实现 TCP 服务器的 TLS 加密改造,兼顾易用性与安全性。 前提说明 适用场景:L…

张小明 2026/1/22 14:37:02 网站建设

信息化建设 调查报告 乡镇网站网站制作学习网站

01 为什么要做压测 1、什么是压力测试? 不断向被测对象施加压力,测试系统在压力情况下的表现。 2、压力测试的目的是什么? 测试得出系统的极限性能指标,从而给出合理的承诺值或者容量告警; 找出系统的性能瓶颈&am…

张小明 2026/1/22 14:36:31 网站建设

dns可以将网站域名解析门户手机网站源码

当下,人工智能范畴正从通用大模型的运用,迅速朝着能够自行察觉到、做出决策以及执行的“AI智能体”(AI Agent)演变 。 和传统的交互式聊天机器人不一样,智能体被给予了更强的目标领会、规划剖析以及工具运用能力&#…

张小明 2026/1/22 14:34:59 网站建设