久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3437|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

w5100程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:111486 發(fā)表于 2016-3-30 20:20 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
***************************************************************************************/

/*例程網(wǎng)絡(luò)參數(shù)*/
//網(wǎng)關(guān):192.168.1.1
//掩碼:        255.255.255.0
//物理地址:0C 29 AB 7C 00 01
//本機(jī)IP地址:192.168.1.199
//端口0的端口號(hào):5000
//端口0的目的IP地址:192.168.1.190
//端口0的目的端口號(hào):6000

#include <pic.h>
#include "W5100.h"                               
#include <string.h>
#include "rx.h"
void Delay(unsigned int d);                        //延時(shí)函數(shù)(ms)
void delay_us(unsigned char n);
/*******************************************************************************
* 函數(shù)名  : W5100_Initialization
* 描述    : W5100初始貨配置
* 輸入    : 無(wú)
* 輸出    : 無(wú)
* 返回值  : 無(wú)
* 說明    : 無(wú)
*******************************************************************************/
void W5100_Initialization(void)
{
        W5100_Init();                //初始化W5100寄存器函數(shù)
        Detect_Gateway();        //檢查網(wǎng)關(guān)服務(wù)器
        Socket_Init(0);                //指定Socket(0~3)初始化,初始化端口0
}

/*******************************************************************************
* 函數(shù)名  : Load_Net_Parameters
* 描述    : 裝載網(wǎng)絡(luò)參數(shù)
* 輸入    : 無(wú)
* 輸出    : 無(wú)
* 返回值  : 無(wú)
* 說明    : 網(wǎng)關(guān)、掩碼、物理地址、本機(jī)IP地址、端口號(hào)、目的IP地址、目的端口號(hào)、端口工作模式
*******************************************************************************/
void Load_Net_Parameters(void)
{
        Gateway_IP[0] = 192;//加載網(wǎng)關(guān)參數(shù)
        Gateway_IP[1] = 168;
        Gateway_IP[2] = 1;
        Gateway_IP[3] = 1;

        Sub_Mask[0]=255;//加載子網(wǎng)掩碼
        Sub_Mask[1]=255;
        Sub_Mask[2]=255;
        Sub_Mask[3]=0;

        Phy_Addr[0]=0x0c;//加載物理地址
        Phy_Addr[1]=0x29;
        Phy_Addr[2]=0xab;
        Phy_Addr[3]=0x7c;
        Phy_Addr[4]=0x00;
        Phy_Addr[5]=0x01;

        IP_Addr[0]=192;//加載本機(jī)IP地址
        IP_Addr[1]=168;
        IP_Addr[2]=1;
        IP_Addr[3]=199;

        S0_Port[0] = 0x13;//加載端口0的端口號(hào)5000
        S0_Port[1] = 0x88;

        S0_DIP[0]=192;//加載端口0的目的IP地址
        S0_DIP[1]=168;
        S0_DIP[2]=1;
        S0_DIP[3]=190;
       
        S0_DPort[0] = 0x17;//加載端口0的目的端口號(hào)6000
        S0_DPort[1] = 0x70;

        S0_Mode=TCP_CLIENT;//加載端口0的工作模式,TCP客戶端模式
}

/*******************************************************************************
* 函數(shù)名  : W5100_Socket_Set
* 描述    : W5100端口初始化配置
* 輸入    : 無(wú)
* 輸出    : 無(wú)
* 返回值  : 無(wú)
* 說明    : 分別設(shè)置4個(gè)端口,根據(jù)端口工作模式,將端口置于TCP服務(wù)器、TCP客戶端或UDP模式.
*                        從端口狀態(tài)字節(jié)Socket_State可以判斷端口的工作情況
*******************************************************************************/
void W5100_Socket_Set(void)
{
        if(S0_State==0)//端口0初始化配置
        {
                if(S0_Mode==TCP_SERVER)//TCP服務(wù)器模式
                {
                        if(Socket_Listen(0)==TRUE)
                                S0_State=S_INIT;
                        else
                                S0_State=0;
                }
                else if(S0_Mode==TCP_CLIENT)//TCP客戶端模式
                {
                        if(Socket_Connect(0)==TRUE)
                                S0_State=S_INIT;
                        else
                                S0_State=0;
                }
                else//UDP模式
                {
                        if(Socket_UDP(0)==TRUE)
                                S0_State=S_INIT|S_CONN;
                        else
                                S0_State=0;
                }
        }
}

/*******************************************************************************
* 函數(shù)名  : Process_Socket_Data
* 描述    : W5100接收并發(fā)送接收到的數(shù)據(jù)
* 輸入    : s:端口號(hào)
* 輸出    : 無(wú)
* 返回值  : 無(wú)
* 說明    : 本過程先調(diào)用S_rx_process()從W5100的端口接收數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù),
*                        然后將讀取的數(shù)據(jù)從Rx_Buffer拷貝到Temp_Buffer緩沖區(qū)進(jìn)行處理。
*                        處理完畢,將數(shù)據(jù)從Temp_Buffer拷貝到Tx_Buffer緩沖區(qū)。調(diào)用S_tx_process()
*                        發(fā)送數(shù)據(jù)。
*******************************************************************************/
void Process_Socket_Data(SOCKET s)
{
        unsigned short size;
        size=S_rx_process(s);
        memcpy(Tx_Buffer, Rx_Buffer, size);                       
        S_tx_process(s, size);
}

/*******************************************************************************
* 函數(shù)名  : main
* 描述    : 主函數(shù),用戶程序從main函數(shù)開始運(yùn)行
* 輸入    : 無(wú)
* 輸出    : 無(wú)
* 返回值  : int:返回值為一個(gè)16位整形數(shù)
* 說明    : 無(wú)
*******************************************************************************/
void init_io()
{
        TRISC=0;
        //TRISA=0;
        TRISB=0x66;
        OPTION_REG=0x7f;//端口b加上拉電阻
        TRISD=0;
        PORTD=0Xff;
}
int main(void)
{
        unsigned int W5100_Send_Delay_Counter =0;
        init_io();
        Load_Net_Parameters();                //裝載網(wǎng)絡(luò)參數(shù)       
        W5100_Hardware_Reset();                //硬件復(fù)位W5100
        W5100_Initialization();                //W5100初始貨配置
        while (1)
        {
                W5100_Socket_Set();//W5100端口初始化配置
               
                if(W5100_INT == 0)//處理W5100中斷       
                {
                        W5100_Interrupt_Process();//W5100中斷處理程序框架
                }
                if((S0_Data & S_RECEIVE) == S_RECEIVE)//如果Socket0接收到數(shù)據(jù)
                {
                        S0_Data&=~S_RECEIVE;
                        Process_Socket_Data(0);//W5100接收并發(fā)送接收到的數(shù)據(jù)
                }
                else if(W5100_Send_Delay_Counter >= 40000)//定時(shí)發(fā)送字符串
                {
                        if(S0_State != 0)
                        {
                                S0_Data&=~S_TRANSMITOK;
                                //memcpy(Tx_Buffer, "\r\n my name is cuizhen  \r\n", 23);       
                                if(flag_24l01()==1)
                                {
                                        memcpy(Tx_Buffer, "\r\n 1 \r\n", 23);
                                        S_tx_process(0, 23);//指定Socket(0~3)發(fā)送數(shù)據(jù)處理,端口0發(fā)送23字節(jié)數(shù)據(jù)
                                }
                                else
                                {
                                        memcpy(Tx_Buffer, "\r\n 0 \r\n", 23);
                                        S_tx_process(0, 23);//指定Socket(0~3)發(fā)送數(shù)據(jù)處理,端口0發(fā)送23字節(jié)數(shù)據(jù)
                                }
                        }
                        W5100_Send_Delay_Counter=0;
                }
                W5100_Send_Delay_Counter++;
        }
}

/*******************************************************************************
* 函數(shù)名  : Delay
* 描述    : 延時(shí)函數(shù)(ms)
* 輸入    : d:延時(shí)系數(shù),單位為毫秒
* 輸出    : 無(wú)
* 返回    : 無(wú)
* 說明    : 延時(shí)是利用Timer2定時(shí)器產(chǎn)生的1毫秒的計(jì)數(shù)來(lái)實(shí)現(xiàn)的
*******************************************************************************/
void Delay(unsigned int  x)
{
    unsigned int i,j;

    for(j=0;j<5;j++)
                for(i=0;i<x;i++);
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2016-3-30 20:29 | 只看該作者
#include "W5100.h"                              
#include "rx.h"
缺少這個(gè)這個(gè)頭文件,樓主補(bǔ)上再送100黑幣
回復(fù)

使用道具 舉報(bào)

板凳
ID:108355 發(fā)表于 2016-7-22 16:22 | 只看該作者
請(qǐng)問樓主能在單片機(jī)里面識(shí)別這個(gè)接收數(shù)據(jù)嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国内精品视频在线观看 | 日韩毛片 | 国产中文字幕网 | 国产一区二区三区四区 | 在线不卡一区 | 欧美色综合 | 午夜精品一区二区三区在线 | 午夜激情视频 | 天天天堂 | 欧洲成人| 中文字幕av一区二区三区 | 国产中文区二幕区2012 | se婷婷| 中文字幕在线视频精品 | 亚洲首页| 美女高潮网站 | 日本成人免费观看 | 男人的天堂中文字幕 | 美女一区二区在线观看 | 日韩在线免费 | 亚洲瑟瑟| 亚洲成人免费视频 | 亚洲精品乱码久久久久久蜜桃91 | 成人一区二区三区视频 | 日本又色又爽又黄又高潮 | 国产精品久久国产精品久久 | 亚洲一区中文字幕 | 午夜精品久久久久久久久久久久久 | 久久精品色欧美aⅴ一区二区 | 日韩免费福利视频 | 一级中国毛片 | 欧美日韩中文字幕 | 在线观看视频91 | 欧美电影免费观看高清 | 成人免费黄色片 | 日日夜精品视频 | 亚洲国产精品久久久 | 久久久久国产 | 国产精品美女 | 欧美视频一级 | 黄色成人免费看 |