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

標題: 基于STC89C51單片機的esp8266-01wifi模塊(程序加模塊引腳圖) [打印本頁]

作者: 李江勇    時間: 2018-4-23 15:22
標題: 基于STC89C51單片機的esp8266-01wifi模塊(程序加模塊引腳圖)
引腳圖及連接方式
紅色字體的引腳需要連接,其余不用連,只需了解
VCC:接3.3V的高電平(必須是3.3v 否則會燒壞模塊)
GND:接地
RX:模塊串口通信的接收引腳,接到單片機的TX引腳。
TX:模塊的發射端,接單片機的RX接口。
CH_PD:接高電平(和vcc引腳焊接起來)
GPIO0:默認情況下不接線,在刷固件時要接低電平。
GPIO2:懸空
RST:低電平復位,默認懸空。
用下載器連接WiFi模塊,然后用串口助手發送一下AT指令
串口助手附件 SSCOM.rar (267.9 KB, 下載次數: 207)
串口助手中波特率初始為115200,更改以后波特率將永久保存,除非再次更改
1、設置模塊為ST模式:發送:AT+CWMODE=1;返回:OK
2、  查看當前WiFi列表:AT+CWLAP返回: OK
3、  加入當前無線網絡:發送命令:AT+CWJAP=”MERSAIN”,”XXXXXXXX”
第一個填你想要連接的WiFi名稱,第二個填WiFi的密碼
4、查看當前模塊IP地址:發送: AT+CIFSR返回:當前IP地址
5、開啟多連接模式 :發送命令:AT+CIPMUX=1返回:OK
6、建服務器 發送命令:AT+CIPSERVER=1,8080(設置指令)
   指令:AT+CIPSERVER=<mode>[,<port>]

說明:<mode>:0-關閉server模式,1-開啟server模式       <port>:端口號,缺省值(默認值)為333 響應:OK
7、更改波特率為9600   AT+UART=9600,8,1,0,0(視單片機波特率而定)
更改波特率
wifi模塊ESP8266的默認波特率是115200,但是單片機不能達到那么快的傳輸速率,只能使用9600bps,那么設置的時候,必不可少的要先用轉串口調試下載器(速度比較快,而且wifi模塊默認115200bps,用單片機不能正確更改波特率,轉串口工具可以),設置指令,AT+UART=9600,8,1,0,0   在下載器連接模塊時更改波特率
程序
向單片機下載程序時先不接模塊,下載完成之后斷電之后再連接模塊
//此程序是手機連接ESP8266模塊以后向模塊發送字符a,控制單片機蜂鳴器的鳴與滅
#include<reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
u8 dat;
sbit beep=P2^3;
void ConfigUART(u16 buad);//串口通信初始化函數,buad為單片機設置的波特率。
void Delay_ms(u16 n);
void Uart_Send_String(u8 *string);//串口發送多個字節。
void Delay_Us(u8 us);
void Sent_UART(u8 dat);//串口發送一個字節
void ESP8266_Init();//ESP8266初始化
void main()
{
         EA = 1;
   ConfigUART(9600);
         ESP8266_Init();
        while(1);
}
void ConfigUART(u16 buad)
{
        SCON = 0x50;
        TMOD &= 0X0F;
        TMOD |= 0x20;
        TH1 = 256 - (11059200/12/32)/buad;
        TL1 = TH1;
        ET1 = 0;
        TR1 = 1;
}
void Sent_UART(u8 dat)
{
        ES = 0;
        TI=0;
        SBUF = dat;
        while(!TI);
TI = 0;
ES = 1;
}
void Delay_Us(u8 us)
{
while(us--);
}
void Delay_ms(u16 n)
{
        unsigned int  i,j;
        for(i=0;i<n;i++)
                for(j=0;j<123;j++);
}

void Uart_Send_String(u8 *string)
{
while(*string)
{
Sent_UART(*string++);
Delay_Us(5);
}

}
void ESP8266_Init()
{
        Uart_Send_String("AT\r\n");
        Delay_ms(2000);
        Delay_ms(1000);
        Uart_Send_String("AT\r\n");
        Delay_ms(2000);
        Delay_ms(1000);
  Uart_Send_String("AT+CIPMUX=1\r\n");
        Delay_ms(2000);
        Delay_ms(1000);
  Uart_Send_String("AT+CIPSERVER=1,8080\r\n");
}
void InterruptUART() interrupt 4
{
    if (RI)  //接收到字節
    {
        RI = 0;  //手動清零接收中斷標志位
        dat = SBUF;  //接收到的數據保存到接收字節變量中
                if(dat=='a')
                        {
                                beep=~beep;
                        }                                         //接收到的數據又直接發回,叫作-"echo",
                         //用以提示用戶輸入的信息是否已正確接收
    }
    if (TI)  //字節發送完畢
    {
        TI = 0;  //手動清零發送中斷標志位
    }

}
手機軟件

這兩個軟件均可使用
以netassist為例
打開后點擊tcp client
設置ip地址和端口號             ip地址看發送AT+CIFSR返回的IP值;
端口號看你發送的端口     AT+CIPSERVER=1,8080   這里是8080
然后連接  在發送框發送a即可控制蜂鳴器


作者: 寒門癡子    時間: 2018-4-29 06:36
要學習,謝謝!
作者: aptx48694517    時間: 2018-5-4 17:51
發送AT指令沒有返回值,界面是空白的

作者: sanshisui    時間: 2018-5-5 23:08
單片機晶振是12M  波特率也是9600嗎還是更低?
作者: 李江勇    時間: 2018-5-6 20:34
sanshisui 發表于 2018-5-5 23:08
單片機晶振是12M  波特率也是9600嗎還是更低?

晶振11.0592  波特率9600
作者: sanshisui    時間: 2018-5-6 21:26
為什么全部弄好在手機發送a沒有反應呢?樓主能回答一下嗎
作者: 李江勇    時間: 2018-5-7 18:51
sanshisui 發表于 2018-5-6 21:26
為什么全部弄好在手機發送a沒有反應呢?樓主能回答一下嗎

模塊波特率改了嗎,模塊初始波特率為115200,需要改為和單片機一樣的波特率9600,我用的51單片機
作者: 李江勇    時間: 2018-5-7 18:52
aptx48694517 發表于 2018-5-4 17:51
發送AT指令沒有返回值,界面是空白的

看看波特率改了沒,按照上面方法應該可以連上,親測可以
作者: duantui    時間: 2018-6-10 16:06
sanshisui 發表于 2018-5-6 21:26
為什么全部弄好在手機發送a沒有反應呢?樓主能回答一下嗎

你解決了嗎?我也沒有反應呢
作者: 郭薇    時間: 2018-6-11 15:35
單片機與8266之間需要電平轉換嗎?
作者: 小貓貓愛吃魚    時間: 2018-6-11 15:50
郭薇 發表于 2018-6-11 15:35
單片機與8266之間需要電平轉換嗎?

你好!這個不需要電平轉換的,單片機和8266串口交叉連接
作者: 小貓貓愛吃魚    時間: 2018-6-11 15:52
duantui 發表于 2018-6-10 16:06
你解決了嗎?我也沒有反應呢

你好!沒有反應的情況,著重檢查
1、單片機和模塊,串口是否交叉
2、單片機晶振和串口波特率是否匹配
3、程序是否配置好 8266
4、還是不行,看我頭像
作者: JamesGordan    時間: 2019-4-22 19:49
aptx48694517 發表于 2018-5-4 17:51
發送AT指令沒有返回值,界面是空白的

我也是這個情況
作者: 1942850641    時間: 2019-4-23 11:47
JamesGordan 發表于 2019-4-22 19:49
我也是這個情況

兄弟,我也是這個情況。通過串口助手直接給esp8266發送AT指令就可以,但中間連接個單片機,也下載了通信程序,然后再通過串口助手發送AT指令,esp8266就不響應了。
方便的話加個聯系方式,一起討論一下,我的qq1499414490
作者: Kinarmy    時間: 2019-4-26 19:53
輸入IP和端口號,連接不上是什么原因,
作者: slaoliu    時間: 2021-9-20 10:32
這個好,必須學習一下。
作者: dzc3458    時間: 2021-10-13 15:56
esp8266可以用socket發送指令嗎




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品久久国产 | 欧美日韩91 | 一区二区三区中文字幕 | 成人免费观看网站 | 精品久久国产 | 欧美精品片 | 一区二区视频在线 | 日本黄色片免费在线观看 | 日韩精品在线免费观看视频 | 噜噜噜噜狠狠狠7777视频 | 日韩国产在线观看 | 亚洲成人999 | 日韩1区2区| 成人黄色av网站 | 超碰日本 | 久久久国产精品视频 | 国产乱人伦精品一区二区 | 男女午夜免费视频 | 国产精品视频一区二区三 | 欧美在线日韩 | 草草草影院 | 九色在线观看 | 欧美日韩一区精品 | 日韩二区 | 中文字幕在线免费视频 | a免费视频| 国产成人精品免高潮在线观看 | 欧美精品一区三区 | 精品成人在线观看 | 操久久久 | 久久久精品一区二区三区 | 国产情侣一区 | 一区二区三区四区在线 | 成人免费一区二区三区视频网站 | 色中文在线 | 亚洲日韩中文字幕一区 | 国产精品一区二区在线 | 69热视频在线观看 | 久久久青草婷婷精品综合日韩 | 亚洲成人动漫在线观看 | 三级成人在线 |