Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Network
WIZnet_W5500
webnet
w5500 webnet 问题总结
发布于 2020-06-08 23:34:42 浏览:3449
订阅该版
看着rt-thread支持的越来越多,ide越来越强大,最近做个小玩意,想着rtt这么方便就搞一下,用stm32f+w5500硬件方案,webnet作为网页服务器进行配置设备,结果这个坑真的深,论坛里很多小伙问这个方案网页跑不起来,里面的回帖无非就是加大内存,按照官方例程等,毫无建设性回答,回答的人是不是维护者不清楚,如果是维护者,真应该反思反思,这种回答太不负责任。 这些坑如下: 1、w5500在rtt的驱动实现,没有实现write的poll的机制,导致web net里的实现,select无法得到网络可写的请求,因此网页根本无法打开,在w5500的中断简单打开send_ok整个都不正常了,看样子要想真正解决这个问题,得把w5500驱动给重写了,官方例子都没有给出这种应用,包括linux里的驱动也没有这么去实现,这个是最大的坑。好不容易跳出这个坑,还有更多坑 2、rtt在2.x版本的时候更新记录里说串口设备支持了posix接口,我就用了下这个,open没问题,要想设置串口波特率时,fcntl不可以,细看了下,rtt的fd里类型,默认都是文件,判断是文件夹的时候修改了类型,压根就没有设备类型的fd,但是好在有网络类型的,因此这个接口实现的不完善。 3、webserver的bug太多了,基本上也就是个摆设,用到cgi已经填坑无数了,比如, `webnet_request_get_query`里判断`strncmp(request->query_items[index].name, name, strlen(name)`,当变量a或者b只有一个字符,随便一个以a或者b开头的字符串就可以匹配到. `cgi`在火狐打不开,ie可以打开,但是一直转圈圈,`webnet_session_set_header`长度设置-1,这个时候回复浏览器是没有`Content-Length`,所以js等返回的文本都正确也无法正常运行,仅限官方例子凑合着可以跑。 `webnet_session_write` `webnet_session_printf` 等发送调用send,w5500的send超过长度会反回的,这些都没有检查返回长度,导致部分内容发送不完整,在其他网络上应该也会存在类似问题吧 wbenet里很多需要考虑 的异常都没有做,突然拔了网线就是一场灾难。。。。。。。。 暂时能想到的就这些,应该还有很多小问题,我暂时忽略了,最近搞了一个周,头都大了,我觉得如果最后都搞不定,可能就得回到w5500官方裸奔的方案了,现在占据了超级多的资源,还bug太多,已经远超我当初的预计工作量了。 这些东西就是看上去很美,不能细品,细品就啥也不是,希望官方后续多投入点到精力到代码中来,啥ide不ide的,那都不是决定性的生产力,gcc+vim makefile等等它不香么,代码好用比ide好用更重要,最近开源了threadx了,要去尝试尝试它,不是因为微内核啥,就是想着基础的东西可以稳定点,少折腾,更多的精力放在怎么搞好应用。
查看更多
5
个回答
默认排序
按发布时间排序
Hu_XianShen
2020-06-09
这家伙很懒,什么也没写!
楼主总结的好,顶一下!当时我首选也是W5500,后来改方案了。
思钱想厚
2020-06-14
这家伙很懒,什么也没写!
>楼主总结的好,顶一下!当时我首选也是W5500,后来改方案了。 后来改的啥方案呀,那你硬件做了吗w5500的,我也看到你在其他帖子里问这个的情况好像。
hfmm
2021-03-04
这家伙很懒,什么也没写!
threadx 是开源了,但他是收费的呀
一路寻梦
2021-04-15
这家伙很懒,什么也没写!
本人webnet也是用STM32L496+ENC28J60,之前看W5500是硬协议很好,结果....无语了
JJIE
2022-06-21
JJIE
RTT里的W5500看上去确实很美,用起来真是坑太多,无语了!不清楚他们做了通用的软件包为什么不优化好一点呢,说的是挺好,用起来就不是那么回事了
撰写答案
登录
注册新账号
关注者
1
被浏览
3.4k
关于作者
思钱想厚
这家伙很懒,什么也没写!
提问
1
回答
2
被采纳
0
关注TA
发私信
相关问题
1
lwip1.4.1连接经常会断开无法连接上,可以ping通
2
LPC1768:RTT+LWIP+webserver用IE刷网页出现硬件中断错误(已经解决)
3
求一些LWIP开发的经验,目前ping一直不稳定。
4
stm32f207+dp83848无法ping通
5
RTT下的LWIP传递机制
6
rtt内lwip的socket是否是线程安全?
7
Lwip+enc28j60无法ping通
8
坑爹的rtconfig.h lwip关掉了checksum
9
花了一个晚上,把RT2.0的LWIP、网卡驱动、文件系统整合起来了,发现一点小问题
10
lwip例程中udp发送时如何指定源端口发送到指定目的地端口
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
7
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部