如题所述,想做个wifi校时时钟,前面AT返回的OK可以读取到,,后面GET返回的数据读取不到,求大神帮助,下面是部份程序
void main()
{
delay5s();
UsartInit();
ESP8266_Set("AT+CWMODE_DEF=1\r\n"); //!!配置WiFi模组工作模式为单STA模式,并把配置保存在flash
delay200ms(); delay200ms(); delay200ms(); delay200ms(); delay200ms();
ESP8266_Set("AT+RST\r\n"); //!!重启模块
delay5s();
ESP8266_Set("AT+CWJAP_DEF=\"111\",\"11111111\"\r\n"); // !!连接网络
delay5s();delay5s();delay5s();
ESP8266_Set("AT+CIPMUX=0\r\n"); //设置单链接模式
delay200ms();delay200ms();delay200ms();
// ESP8266_Set("AT+CWAUTOCONN=1\r\n"); //!!使能上电自动连接AP
// delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
ESP8266_Set("AT+CIPSTART=\"TCP\",\"api.k780.com\",88\r\n");//!!连接服务器
delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
ESP8266_Set("AT+CIPMODE=1\r\n"); //!!设置透传
delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
ESP8266_Set("AT+CIPSEND\r\n"); //!!启动发送
delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
ESP8266_Set("GET ' 'http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"); //!!GET请求
delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
ES=1;
// while(1)
// {
//get返回值{"success":"1","result":{"timestamp":"1548490735","datetime_1":"2019-01-26 16:18:55","datetime_2":"2019年01月26日 16时18分55秒","week_1":"6","week_2":"星期六","week_3":"周六","week_4":"Saturday"}}
if(Recive_table[0]=='{')//如果为S则显示1否则0
{
TM1650_Set_Time(0x48,0x11);
TM1650_Set_Time(0x68,d_code[1]);
}
void Uart_Interrupt() interrupt 4
{
// static uint i=0;
ES=0;
if(RI)
{
RI=0;
Receive=SBUF; //MCU接收wifi模块反馈回来的数据
if(Receive=='{')
{
RX_ok=0;//清除
RX_flag=1;//开始接收
}
if(RX_flag=1)
{
Recive_table[ii++]=Receive;
if(Receive=='\n')
{
Recive_table[ii]=='\n';
ii=0;
RX_flag=0;//清0表示这一次数据接收完成
RX_ok=1;//接收完成
}
// if(i>=255)i=0;
}
// if((Recive_table[i-1]=='\n'))i=0; //遇到换行 重新装值
}
else TI=0;
ES=1;
}
|