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

QQ登錄

只需一步,快速開始

搜索
查看: 6032|回復(fù): 4
收起左側(cè)

單片機(jī)esp8266發(fā)送HTTP請(qǐng)求程序

[復(fù)制鏈接]
ID:499446 發(fā)表于 2019-3-27 21:50 | 顯示全部樓層 |閱讀模式
在制作期間總結(jié)了如何使用esp8266發(fā)送HTTP請(qǐng)求。
#include <reg51.h>

typedef   unsigned char  uint8;
typedef   unsigned int   uint16;

//uint8 Buf[]="AT+UART=115200,8,1,0,0\r\n";
uint8 Buf[]="AT+CIPMUX=0\r\n";
uint8 BufA[]="AT+CIPSTART=\"TCP\",\"192.168.191.1\",8080\r\n";
uint8 BufB[]="AT+CIPSEND=120\r\n";
uint8 BufC[]="GET /Fresh_Management/Getemputer?wendu=12&shidu=23\r\n";

void delay(uint16 n)
{
        while (n--);
}
void ms_delay(uint16 t){
        uint16 i,j;
        for(i=t;i>0;i--)
        for(j=110;j>0;j--);
}
/*波特率為9600*/
void UART_init(void)
{
    SCON = 0x50;        //串口方式1

    TMOD = 0x20;        // 定時(shí)器使用方式2自動(dòng)重載
    TH1 = 0xFD;    //9600波特率對(duì)應(yīng)的預(yù)設(shè)數(shù),定時(shí)器方式2下,TH1=TL1
    TL1 = 0xFD;

    TR1 = 1;//開啟定時(shí)器,開始產(chǎn)生波特率
}

/*發(fā)送一個(gè)字符*/
void UART_send_byte(uint8 dat)
{
        SBUF = dat;       //把數(shù)據(jù)放到SBUF中
        while (TI == 0);//未發(fā)送完畢就等待
        TI = 0;    //發(fā)送完畢后,要把TI重新置0
}

/*發(fā)送一個(gè)字符串*/
void UART_send_string(uint8 *buf)
{
        while (*buf != '\0')
        {
                UART_send_byte(*buf++);
        }
}

main()
{
        UART_init();
        UART_send_string(Buf);
        while (1)
        {
               
                ms_delay(2000);
                UART_send_string(BufA);
                ms_delay(2000);
                UART_send_string(BufB);
                ms_delay(3000);
                UART_send_string(BufC);
                ms_delay(2000);
                UART_send_string(BufC);
                ms_delay(5000);
                //delay(2000);
        }

}

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:344806 發(fā)表于 2019-7-21 12:12 | 顯示全部樓層
為什么生成不了.hex
回復(fù)

使用道具 舉報(bào)

ID:492684 發(fā)表于 2020-7-3 15:06 | 顯示全部樓層
請(qǐng)問如果是https怎么修改
回復(fù)

使用道具 舉報(bào)

ID:495287 發(fā)表于 2020-7-3 21:03 | 顯示全部樓層
翻帖偶遇獲新知,
研新無界前輩持,
反復(fù)消化領(lǐng)悟遲,
唯有點(diǎn)贊勵(lì)路知。
回復(fù)

使用道具 舉報(bào)

ID:1065346 發(fā)表于 2023-3-6 00:23 | 顯示全部樓層
#include <reg51.h>

typedef   unsigned int   uint16;
#define uchar unsigned char

sbit led0 = P1 ^ 0;
sbit led1 = P1 ^ 1;
sbit led2 = P1 ^ 2;
sbit led3 = P1 ^ 3;
sbit led4 = P1 ^ 4;
sbit led5 = P1 ^ 5;

void delay(uint16 n)
{
    while (n--);
}

void ms_delay(uint16 t){
    uint16 i,j;
    for(i=t;i>0;i--)
        for(j=110;j>0;j--);
}
/*波特率為9600*/
void UART_init(void)
{
    SCON = 0x50;        //串口方式1

    TMOD = 0x20;        // 定時(shí)器使用方式2自動(dòng)重載
    TH1 = 0xFD;    //9600波特率對(duì)應(yīng)的預(yù)設(shè)數(shù),定時(shí)器方式2下,TH1=TL1
    TL1 = 0xFD;

    TR1 = 1;//開啟定時(shí)器,開始產(chǎn)生波特率
}

/*發(fā)送一個(gè)字符*/
void UART_send_byte(unsigned char dat)
{
    SBUF = dat;       //把數(shù)據(jù)放到SBUF中
    while (TI == 0);//未發(fā)送完畢就等待
    TI = 0;    //發(fā)送完畢后,要把TI重新置0
}

/*發(fā)送一個(gè)字符串*/
void UART_send_string(const char *buf)
{
    while(*buf)
        UART_send_byte(*buf++);
}

void main(){
    UART_init();
    UART_send_string("AT+CIPMUX=0\r\n");
    while (1)
    {

        ms_delay(2000);
        led0 = 0;
        UART_send_string("AT+CIPSTART=\"TCP\",\"ip\",80\r\n");
        ms_delay(2000);
        led1 = 0;
        UART_send_string("AT+CIPSEND=68\r\n");
        ms_delay(3000);
        led2 = 0;
        UART_send_string("GET /?id=234567 HTTP/1.1\r\n");
        ms_delay(2000);
        led3 = 0;
        UART_send_string("Host: 123.57.40.102\r\n");
        ms_delay(2000);
        led4 = 0;
        UART_send_string("Connection: close\r\n\r\n");
        ms_delay(2000);
        led5 = 0;
        delay(1);
        led0 = 1;
        led1 = 1;
        led2 = 1;
        led3 = 1;
        led4 = 1;
        led5 = 1;
    }

}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表