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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2061|回復: 1
打印 上一主題 下一主題
收起左側

互聯網遠程控制

[復制鏈接]
跳轉到指定樓層
樓主
ID:136435 發表于 2016-8-10 15:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"

#include "exti.h"
#include "ex_out.h"
#include "ex_in.h"
#include "W5500.h"
#include "net.h"
#include "value.h"
#include "fu_dhcp.h"
#include "flash.h"
#include "dht12.h"

/********************************************************************/
/* 本程序僅供學習參考,未經作者允許,不得用于任何商業用途                                  */
/* 本程序為Fuhome互聯網遠程控制終端靜系列專用程序                            */
/* 適用于硬件平臺  采用W5500+STM32F103C8T6 64K+20K                                                  */                                                                            */
/* 單片機相關配置,I/O口定義,定時器,串口,中斷等初始化函數                   */
/* 本程序用于硬件設備接入fuhome.net 平臺進行遠程控制(手機APP/微信/WEB */
/* 版本:v1.2 2016年6月30日                                                                                                        */
/* 龍劍奮斗                                                                                                                                                */
/* 定期更新,敬請關注——開放,交流,深入,進步                                                        */
/* Copyright  未來之家 實驗室,讓科技融入生活                                        */
/********************************************************************/


int main(void)
{
        U8 i=0;
        U8 Data_Have=0;//0 沒有數據 1有數據,第一次運行時寫入固定數據

         
         
         SystemInit();                          //系統時鐘初始化為72M          SYSCLK_FREQ_72MHz
        delay_init(72);             //延時函數初始化
        NVIC_Configuration();//設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
         Uart_Init(9600);                 //波特率 9600
        
          //KEY_Init();              //IO初始化
    //EXTIX_Init();
    Timerx_Init(99,7100);//定時器3延時 10ms

          Ex_in_Init();
          Ex_out_Init();
          DHT12_Init();

          //讀取工作參數
          STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)fu_temp,62);
         
                //是否需要寫入
                if(fu_temp[0]!=0xac||fu_temp[1]!=0xa2)
                {
                        //第一次需要寫入數據了
                        STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)fu_index,62);
                  //讀取工作參數
                        STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)fu_temp,62);
    }
               
                //如果不對,那說明單片機有問題,進入死循環
                if(fu_temp[0]!=0xAc||fu_temp[1]!=0xA2)
                {
                        while(1)
                        {
                                SYS=0;
                                OUT=1;
                                IN=1;
                                delay_ms(200);
                                SYS=0;
                                OUT=0;
                                IN=1;
                                delay_ms(200);
                                SYS=0;
                                OUT=0;
                                IN=0;
                                delay_ms(200);
                        }
    }
               
               
                SYS=0;
                OUT=1;
                IN=1;
                delay_ms(200);
                SYS=0;
                OUT=0;
                IN=1;
                delay_ms(200);
                SYS=0;
                OUT=0;
                IN=0;
                delay_ms(200);
                                

                //是否進入設置
                Set_Flag=Key_Scan();
                while(Set_Flag)//設置完成必須重啟才能
                {
                        SYS=0;
                        OUT=0;
                        IN=0;
                        delay_ms(500);
                        SYS=1;
                        OUT=1;
                        IN=1;
                        delay_ms(500);
                }   
               
                //分析工作模式及設置參數
                //1/IP模式 0自動獲取 1固定IP 2/工作模式 0遠控 1透傳
                 Get_IP=fu_temp[2];
                 Work_Sta=fu_temp[21];
                 Tihuan();
               

                SPI_Configuration();                //W5500 SPI初始化配置(STM32 SPI1)
    W5500_GPIO_Configuration();        //W5500 復位IO配置        
                W5500_Hardware_Reset();                //硬件復位W5500
         
          Load_All();     //子網掩碼和MAC等固定信息
               
                //自動獲取IP
                if(Get_IP==0x00)
                {
                        //裝DHCP網絡參數
                        Load_Auto();               
                 
                        W5500_Init();                  //初始化W5500寄存器函數
                        Socket_Init(0);                //指定Socket(0~7)初始化,初始化端口0 端口號
                        
                        W5500_Socket0_Set();//W5500端口0初始化配置,防止斷開連接等讓再次連接
                        SYS=1;
                        OUT=0;
                        IN=0;
                        DHCP();
                        SYS=1;
                        OUT=1;
                        IN=1;//指示已經獲取到IP
                }
                //固定IP
                else
                {
                        //裝載固定IP參數
                        Load_Keep();
                        W5500_Init();                  //初始化W5500寄存器函數
                        Socket_Init(0);                //指定Socket(0~7)初始化,初始化端口0 端口號
                        
                        W5500_Socket0_Set();//W5500端口0初始化配置,防止斷開連接等讓再次連接
                        
                        SYS=0;
                        OUT=1;
                        IN=0;
                        delay_ms(500);
                        SYS=1;
                        OUT=0;
                        IN=1;
                        delay_ms(500);
                        SYS=1;
                        OUT=1;
                        IN=1;
                }
               
  //設置本地端口7001
  Update_Port();
        Heart_Bag();

while (1)
        {
               
                        //是否進入設置
                Set_Flag=Key_Scan();
                while(Set_Flag)//設置完成必須重啟才能
                {
                        SYS=0;
                        OUT=0;
                        IN=0;
                        delay_ms(500);
                        SYS=1;
                        OUT=1;
                        IN=1;
                        delay_ms(500);
                }  
               
                W5500_Socket0_Set();//W5500端口0初始化配置,防止斷開連接等讓再次連接
                        
                W5500_Interrupt_Process();//W5500中斷處理程序,用來讀取數據

                if((S0_Data & S_RECEIVE) == S_RECEIVE)//如果Socket0接收到數據
                {
                        S0_Data&=~S_RECEIVE;
                        Process_UDP();//W5500接收并發送接收到的數據
                }
               

                //每30s心跳一次
                if( W5500_Send_Delay_Counter%3000==0)
                {
                        
                        SYS=1;//指示燈熄滅,待收到心跳包后服務器正常會亮起
                        
      Heart_Bag();        
    }
                if( W5500_Send_Delay_Counter%3500==0)//30s每次發送
                {
                        //傳感器包 0溫度 1濕度,兩次發送至少間隔5s
     Feel_bag(0);
    }
                else if( W5500_Send_Delay_Counter%4000==0)//35s每次發送
                {
                        //傳感器包 0溫度 1濕度,兩次發送至少間隔5s
     Feel_bag(1);
    }
               
                //每半個租期自動獲取一次IP
               
                if(TimerS_Counter==DHCP_Time/2)
                {
                 TimerS_Counter=0;
     DHCP();
    }
               
        

               
               
               
        }
         
        
}
         
         


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:136743 發表于 2016-8-19 18:53 | 只看該作者
好人啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美天堂在线 | 99久久久国产精品 | 国产精品欧美一区二区 | 久久一区精品 | 日韩中文视频 | 亚洲成人精品 | 国产精品久久精品 | 天天插天天操 | yiren22 亚洲综合 | 国产成人福利在线观看 | 亚洲成人高清 | 亚洲成人一区 | 国产99免费| 欧美一区免费 | 国产成人综合在线 | 久久国产综合 | 久久精品一区 | 精品一区精品二区 | 日日噜| 亚洲视频在线播放 | 亚洲精品一区二区 | 一级电影免费看 | 日韩视频中文字幕 | 久久国产精品一区 | 国产精品精品视频一区二区三区 | 91文字幕巨乱亚洲香蕉 | 人人天天操 | www.伊人.com | 在线视频亚洲 | 蜜桃av一区二区三区 | 久久精品亚洲精品国产欧美 | 成人免费观看男女羞羞视频 | 国产成人小视频 | 亚洲精品一区在线观看 | 成av人电影在线 | 日韩精品一区二区三区在线观看 | 免费国产一区二区 | 免费黄色片视频 | 亚洲福利片 | 91一区二区三区 | 国产欧美一区二区三区久久人妖 |