WIFI無線通信結合手機E4A編程,很好的學習例程,開源全部代碼,如ESP8266無線網地址是直接做進E4A了,每次一鍵接入,初始值10.10.10.208
端口5000
不會E4A的就只能按這個值燒錄ESP8266模塊了。會E4A就直接改成你自己的IP
單片機源程序:
/********************************************************************/
/* WIFI無線傳輸手機顯示 */
/********************************************************************/
#include #include #include #define uint unsigned int #define uchar unsigned char /*****************相關變量**************/ uint Receive,i,xm1,xm2,xm3,xm0; long s; [size=36.9444px]uchar Recive_table[40]; //用于接收wifi模塊反饋到MCU上的數據 [/size] uchar code ta[]="0123456789- "; //測試一下 uchar table[]="溫度:00.0 C";//傳送用定位模板 sbit dq=P3^7;//18B20總線接口。DQ bit tflag;//定義一個溫度標志位。+、- uint tvalue;//定義一個全局變量,用來合高低8位溫度//顯示溫度 void delay (int a)//毫秒級延時 { int x,y; for(x=a;x>0;x--) for(y=110;y>0;y--); } void delayus(int t)//微秒級延時 { while(t--); } /******************************************************************* 名稱:延時函數 作用:毫秒級延時,微妙級延時函數,為數據收發完成作等待....... ********************************************************************/ void ms_delay(uint t) { uint i,j; for(i=t;i>0;i--) for(j=110;j>0;j--); } void us_delay(uchar t) { while(t--); } /*------------------------------------------------ uS延時函數,含有輸入參數 unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時 長度如下 T=tx2+5 uS ------------------------------------------------*/ void DelayUs2x(unsigned char t); /*------------------------------------------------ mS延時函數,含有輸入參數 unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時請使用匯編 ------------------------------------------------*/ void DelayMs(unsigned char t); /*------------------------------------------------ uS延時函數,含有輸入參數 unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時 長度如下 T=tx2+5 uS ------------------------------------------------*/ void DelayUs2x(unsigned char t) { [size=36.9444px] while(--t);[/size] } /*------------------------------------------------ mS延時函數,含有輸入參數 unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時請使用匯編 ------------------------------------------------*/ void DelayMs(unsigned char t) { [size=36.9444px] while(t--) //大致延時1mS[/size] [size=36.9444px] {[/size] [size=36.9444px] DelayUs2x(245);[/size] DelayUs2x(245); [size=36.9444px] }[/size] } [size=36.9444px]void Uart_Init() //使用定時器1作為波特率發生器(STC89C52、STC89C51、AT89C51等均可) [/size] { TMOD = 0x21; [size=36.9444px] SCON = 0x50; //設置串行方式[/size] [size=36.9444px] TH1 = 0xFD; //波特率9600[/size] TL1 = TH1; PCON = 0x00; [size=36.9444px] EA = 1; //總中斷打開 [/size] [size=36.9444px] ES = 1; //開串口中斷 [/size] [size=36.9444px] TR1 = 1; //啟動定時器1[/size] } /******************************************************************** 名稱:串口發送函數 功能:MCU向無線WIFI模塊ESP8266發送數據 ********************************************************************/ void Send_Uart(uchar value) { ES=0; //關閉串口中斷 TI=0; //清發送完畢中斷請求標志位 SBUF=value; //發送 while(TI==0); //等待發送完畢 TI=0; //清發送完畢中斷請求標志位 ES=1; //允許串口中斷 TH0=0; TL0=0; } /******************************************************************** 名稱:WIFI模塊設置函數 作用: 啟動模塊,以便可以實現無線接入和控制 ********************************************************************/ [size=36.9444px]void ESP8266_Set(uchar *puf) // 數組指針*puf指向字符串數組 [/size] { while(*puf!='
主站蜘蛛池模板:
桑植县|
长泰县|
沁水县|
松滋市|
兴国县|
山阴县|
亳州市|
柘荣县|
阳春市|
九龙坡区|
南平市|
长治市|
阿巴嘎旗|
温州市|
安泽县|
安康市|
宁明县|
驻马店市|
阿鲁科尔沁旗|
鄢陵县|
和平区|
大方县|
福鼎市|
惠水县|
周宁县|
牟定县|
云安县|
邯郸市|
遂溪县|
成安县|
临泉县|
仲巴县|
营口市|
梁平县|
裕民县|
比如县|
军事|
南昌市|
垫江县|
容城县|
诸城市|