|
在制作期間總結(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;//開(kāi)啟定時(shí)器,開(kāi)始產(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)分
-
查看全部評(píng)分
|