资源简介
以太网芯片w5100开发的完整资料,硬件tcp/ip协议栈
代码片段和文件信息
/********************************************************************************
提供商:成都浩然电子有限公司
Provider:Chengdu Hasion Electronics co. Ltd.
网址(Website):www.hschip.com
作 者: 黎明
时 间: 2007-01-10
第一次修改时间:2007-2-26
第二次修改时间:2007-04-28
需要包含W5100.h头文件
本软件由ANSI C编写,在很多单片机的C编译器上都可以通过。
本软件包括5个部分:
1. W5100初始化
2. W5100的Socket初始化
3. Socket连接
如果Socket设置为TCP服务器模式,则调用Socket_Listen()函数W5100处于侦听状态,直到远程客户端与它连接。
如果Socket设置为TCP客户端模式,则调用Socket_Connect()函数,
每调用一次Socket_Connect(s)函数,产生一次连接,
如果连接不成功,则产生超时中断,然后可以再调用该函数进行连接。
如果Socket设置为UDP模式则调用Socket_UDP函数
4. Socket数据接收和发送
5. W5100中断处理
置W5100为服务器模式的调用过程:W5100_Init()-->Socket_Init(s)-->Socket_Listen(s),设置过程即完成,等待客户端的连接。
置W5100为客户端模式的调用过程:W5100_Init()-->Socket_Init(s)-->Socket_Connect(s),设置过程即完成,并与远程服务器连接。
置W5100为UDP模式的调用过程:W5100_Init()-->Socket_Init(s)-->Socket_UDP(s),设置过程即完成,可以与远程主机UDP通信。
W5100产生的连接成功、终止连接、接收数据、发送数据、超时等事件,都可以从中断状态中获得。
********************************************************************************/
#include“W5100.h“ //定义W5100的寄存器地址、状态
typedef unsigned char SOCKET;
#define S_RX_SIZE 2048 //定义Socket接收缓冲区的大小,可以根据W5100_RMSR的设置修改
#define S_TX_SIZE 2048 //定义Socket发送缓冲区的大小,可以根据W5100_TMSR的设置修改
/*------------------------------------------------------------------------------
W5100初始化函数
在使用W5100之前,对W5100初始化
------------------------------------------------------------------------------*/
void W5100_Init(void)
{
unsigned char *ptr;
unsigned char i;
ptr=(unsigned char*)W5100_MODE; /*软复位W5100*/
*ptr=MODE_RST;
delay(100); /*延时100ms,自己定义该函数*/
/*设置网关(Gateway)的IP地址,4字节*/
/*使用网关可以使通信突破子网的局限,通过网关可以访问到其它子网或进入Internet*/
ptr=(unsigned char*)W5100_GAR;
for(i=0;i<4;i++)
{
*ptr=Gateway_IP[i]; /*Gateway_IP为4字节unsigned char数组自己定义*/
ptr++;
}
/*设置子网掩码(MASK)值,4字节。子网掩码用于子网运算*/
ptr=(unsigned char*)W5100_SUBR;
for(i=0;i<4;i++)
{
*ptr=SUB_MASK[i]; /*SUB_MASK为4字节unsigned char数组自己定义*/
ptr++;
}
/*设置物理地址,6字节,用于唯一标识网络设备的物理地址值
该地址值需要到IEEE申请,按照OUI的规定,前3个字节为厂商代码,后三个字节为产品序号
如果自己定义物理地址,注意第一个字节必须为偶数*/
ptr=(unsigned char*)W5100_SHAR;
for(i=0;i<6;i++)
{
*ptr=PHY_ADDR[i]; /*PHY_ADDR6字节unsigned char数组自己定义*/
ptr++;
}
/*设置本机的IP地址,4个字节
注意,网关IP必须与本机IP属于同一个子网,否则本机将无法找到网关*/
ptr=(unsigned char*)W5100_SIPR; /*Set source IP address*/
for(i=0;i<4;i++)
{
*ptr=IP_ADDR[i]; /*IP_ADDR为4字节unsigned char数组自己定义*/
ptr++;
}
/*设置发送缓冲区和接收缓冲区的大小,参考W5100数据手册*/
ptr=(unsigned char*)W5100_RMSR; /*Socket Rx memory size=2k*/
*ptr=0x55;
ptr=(unsigned char*)W5100_TMSR; /*Socket Tx mempry size=2k*/
*ptr=0x55;
/* 启动中断,参考W5100数据手册确定自己需要的中断类型
IMR_CONFLICT是IP地址冲突异常中断
IMR_UNREACH是UDP通信时,地址无法到达的异常中断
其它是Socket事件中断,根据需要添加 */
ptr=(unsigned char*)W5100_IMR;
*ptr=(IMR_CONFLICT|IMR_UNREACH|IMR_S0_INT|I
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 220854 2009-06-29 13:37 w5100\13F-60FGYDPNW2NL Datasheet.pdf
文件 436797 2005-04-29 15:57 w5100\AX1-循环测试软件\AX1 Manual V3.1 (Eng).pdf
文件 1036956 2005-04-11 22:01 w5100\AX1-循环测试软件\AXInstallV3.1.EXE
文件 34330 2007-01-25 10:12 w5100\HowToADSL\HowtoADSL.zip
文件 578592 2007-01-03 14:56 w5100\HowToADSL\HowtoADSL_En_v1.0.pdf
文件 540047 2005-09-05 14:07 w5100\HowToDHCP\App note_DHCP.pdf
文件 50194 2007-01-25 10:12 w5100\HowToDHCP\HowtoDHCP.zip
文件 224547 2005-10-21 19:08 w5100\HowToDNS\App note_DNS.pdf
文件 49706 2007-01-25 10:12 w5100\HowToDNS\HowtoDNS.zip
文件 34231 2007-01-25 10:12 w5100\HowToMulticasting\HowtoMulticasting.zip
文件 429276 2007-01-03 09:56 w5100\HowToMulticasting\HowtoMulticasting_En_v1.0.pdf
文件 701490 2009-04-27 13:53 w5100\HS-EVB-MCS51-W5100使用说明090427.pdf
文件 704308 2009-04-27 13:50 w5100\HS-EVB-Mega64-W5100使用说明090427.pdf
文件 134768 2008-10-29 11:23 w5100\HS-NM5100A数据手册.pdf
文件 54372 2007-08-07 00:14 w5100\HS_NM5100A_Outline.pcb
文件 385024 2009-07-06 22:58 w5100\Typical_App.Bkp
文件 385024 2009-07-06 22:58 w5100\Typical_App.Ddb
文件 1537423 2009-03-05 21:22 w5100\W5100_Datasheet_v1_1_8.pdf
文件 1147835 2009-03-12 10:58 w5100\W5100数据手册-v1.1.8.pdf
文件 20201 2009-07-06 21:53 w5100\W5100的MAC地址定义.files\3.jpg
文件 2754 2009-07-06 22:07 w5100\W5100的MAC地址定义.files\css.css
文件 615 2009-07-06 21:51 w5100\W5100的MAC地址定义.files\dian2.gif
文件 619 2009-07-06 21:51 w5100\W5100的MAC地址定义.files\index_r2_c1.jpg
文件 729 2009-07-06 21:51 w5100\W5100的MAC地址定义.files\index_r2_c10.jpg
文件 9857 2009-07-06 21:51 w5100\W5100的MAC地址定义.files\index_r2_c11.jpg
文件 9866 2009-07-06 21:51 w5100\W5100的MAC地址定义.files\index_r6_c1.jpg
文件 77185 2009-07-06 21:53 w5100\W5100的MAC地址定义.files\kfcenter.jpg
文件 7014 2009-07-06 21:51 w5100\W5100的MAC地址定义.files\logo.gif
文件 162 2009-07-06 21:51 w5100\W5100的MAC地址定义.files\newsmenu.gif
文件 11125 2009-07-06 21:51 w5100\W5100的MAC地址定义.files\news_r2_c1.jpg
............此处省略114个文件信息
评论
共有 条评论