W5500感觉挺火的,因为使用该芯片开发以太网硬件和软件都比较简单,一个小小的51单片机就可以瞬间变成一个WEB服务器。W5500自带16K的发送数据缓存,可以同时创建8个TCP/UDP socket连接,使用时,需要合理分配这16K的资源。w5500
W5500的缺点也是有的,就是还是发热比较严重,不过比W5100好很多了。我在使用W5500+STM32F103设计WEB服务器时,就觉得想把网页设计的很漂亮比较困难,因为一个图片动不动就是几十K,想把jQuery包含进来发觉文件太大,后来发现Zepto.js比较适合的,压缩后就9K多一点。w5500当然可以把一个大的文件分成好几次发送,比如把一个100K的文件分成10个部分,每次发送10K字节。不过怎么实现我还没有研究过,怎么把一个很大的网页文件分成好几次发送,反正暂时我还不知道。毕竟既然你使用单片机做WEB服务器程序,一般应该不会有需求传送很大的文件的,因为文件很大了,单片机的FLASH或者RAM容量也不够。
核心程序其实很简单的,这也是使用W5500的优势,几句代码就可以实现一个WEB服务器了,当然这样做的话同一个时刻只能支持单个用户访问,不能支持并发访问的,想要支持并发访问的话可以创建多个SOCKET呀。
while(1)
{
status = getSn_SR(0);
if (status == SOCK_INIT)
{
listen(0);
}
else if (status == SOCK_ESTABLISHED)
{
if(getSn_IR(0) & Sn_IR_CON)
{
setSn_IR(0, Sn_IR_CON);
}
memset(Net_Buffer, 0, NET_BUFFER_SIZE);
ret = recv(0, Net_Buffer, NET_BUFFER_SIZE);
if (ret > 0)
{
respond();
}
}
else if (status == SOCK_CLOSE_WAIT)
{
disconnect(0);
}
else if (status == SOCK_CLOSED)
{
ret = socket(0, Sn_MR_TCP, Host_Port, 0);
if(ret != 0)
{
while(1);
}
}
}
具体一点的可以参考以下链接:,写的还是很好的,有STM32F103的,还有STM32F4的源代码下载。
下面是我做好的WEB服务器访问效果图,将开发版用网线与PC相连,访问192.168.1.1,效果如下:
发表于:2015-05-20 17:33:27
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-38606-1.html
用船撞
跑到浙江这些粗制滥造的工厂去
哎
先去看看去