欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: ESP8266為什么和單片機連接后會自動不停的發送信息呢求大神幫我看下 [打印本頁]

作者: lify5288    時間: 2017-3-29 21:06
標題: ESP8266為什么和單片機連接后會自動不停的發送信息呢求大神幫我看下
我把ESP8266模塊用電腦發送AT指令倒是很正常工作,可是接到單片機上過后它把AT指令執行完過后,它就會一直向串口發送數據,,這是為什么,,,源碼寫的有點亂剛學沒有多久,,,,希望大家可以幫幫我
#include <reg52.h>
#include<string.h>
#define uchar unsigned char
#define uint  unsigned int
void Send_Hex(uchar b);
void Send_ASCII(uchar *b);
void CLR_Buf(void);
sbit led=P1^0;
int Buf_Max;
char Rec_Buf[20],t;
void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0 ; y--);
}       
void UART_init()
{
/*        TMOD = 0x20;          //T1工作模式2  8位自動重裝
        TH1 = 0xfd;
        TL1 = 0xfd;         //比特率9600
        TR1 = 1;                //啟動T1定時器
        SM0 = 0;
        SM1 = 1;                 //串口工作方式1 10位異步
        REN = 1;                //串口允許接收
        EA  = 0;                //關總中斷
        ES  = 0;                //串口中斷關閉         */
        TMOD = 0x20;
        SCON = 0x50;
        TH1 = 0xFD;
        TL1 = TH1;
        PCON = 0x00;
        EA = 0;
        ES = 0;
        TR1 = 1;
}
void main()
{
        UART_init(); //串口初始化
        delay(3000);
        Send_ASCII("AT"); //發送聯機指令
    Send_Hex(0x0d); //發送回車符
    Send_Hex(0x0a); //發送換行符
        delay(3000);
        CLR_Buf();//清除返存
        Send_ASCII("AT+CWJAP=lify5288,q16888888"); //發送聯機指令
    Send_Hex(0x0d); //發送回車符
    Send_Hex(0x0a); //發送換行符
        delay(10000);
        CLR_Buf();//清除返存
        Send_ASCII("AT+CIPMUX=1"); //發送聯機指令
    Send_Hex(0x0d); //發送回車符
    Send_Hex(0x0a); //發送換行符
        CLR_Buf();//清除返存
        delay(3000);
        Send_ASCII("AT+CIPSERVER=1,1000"); //發送聯機指令
    Send_Hex(0x0d); //發送回車符
    Send_Hex(0x0a); //發送換行符
        CLR_Buf();//清除返存
        delay(3000);
        while(1)
        {
                t = SBUF;
                if(RI==1)                     // 是否有數據到來
        {
            RI = 0;
                        Send_ASCII("AT+CIPSEND=0,5"); //發送聯機指令
                       Send_Hex(0x0d); //發送回車符
            Send_Hex(0x0a); //發送換行符
                 CLR_Buf();//清除返存
                        delay(1500);
                        Send_ASCII("TTTTT"); //發送聯機指令
                       Send_Hex(0x0d); //發送回車符
            Send_Hex(0x0a); //發送換行符
                 CLR_Buf();//清除返存          
                 }        
        }
               
}


void Send_Hex(uchar b) //發送
{
            RI = 0;
                SBUF = b;       
                while(!TI);
                TI = 0;
}

void UART() interrupt 4
{

}

void CLR_Buf(void)//清除
{
unsigned char k;
for(k=0;k<Buf_Max;k++) //將緩存內容清零
{
Rec_Buf[k] = 0;
}
}



void Send_ASCII(unsigned char *b) //字節發送
{

for (b; *b!='\0';b++)
{
SBUF = *b;
while(TI!=1); //等待發送完成
TI = 0; //清除發送中斷標志位
}

}


作者: Sanada    時間: 2018-7-31 21:06
請問解決了嗎?我也遇到這樣的問題,一直發給單片機串口助手看不到的數據
作者: gongzhichao    時間: 2020-8-18 20:00
請問樓主解決了嗎?我也遇到了這個問題
作者: mvwtest    時間: 2020-8-25 09:05
遇到過的情況:
1.波特率不匹配
2.電路干擾
3 電源
建議提取串口數據,判斷問題數據是不是8266的啟動報文。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1