• 大小: 13.55MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-18
  • 语言: 其他
  • 标签: w5100  

资源简介

以太网芯片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个文件信息

评论

共有 条评论