本帖最后由 zhj0712 于 2019-1-29 20:04 编辑
AT+CIPSTART="TCP","time.beijing-time.org",80
CONNECT
OK
AT+CIPSEND=43
OK
>
Recv 43 bytes
SEND OK
+IPD,98:t0=new Date().getTime();
nyear=2019;
nmonth=1;
nday=29;
nwday=2;
nhrs=19;
nmin=49;
nsec=46;CLOSED
上面是串口助手中AT得到的数据,但是在单片机中,只能读取到<Recv 43 bytes
SEND OK>这部份,后面的(+IPD,98:t0=new Date().getTime();
nyear=2019;
nmonth=1;
nday=29;
nwday=2;
nhrs=19;
nmin=49;
nsec=46;CLOSED)这部份数据读取不到,但后面这些才是我想要的,求大神指点,下面是部份程序
- void ESP8266_Set(unsigned char * sendBuf ,unsigned int length)//串口发送函数
- {
- int i;
- for(i=0; i<length; i++)
- {
- SBUF = sendBuf[i]; //将要发送的数据放入到发送寄存器
- while(!TI); //等待发送数据完成
- TI=0; //清除发送完成标志位
- }
- ms_delay(1000); //延时一下再发
- }
- void Uart_Interrupt() interrupt 4
- {
- uchar RX_temp;
- ES=0;//禁止串口中断
- if(RI)
- {
- RI=0;//清除标志
- RX_temp=SBUF;//读取数据
- if(RX_temp=='R')//检测到起始符号
- {
- ii=0;
- RX_ok=0;//清除
- RX_flag=1;//开始接收
- }
- if(RX_flag==1)//可以接收
- {
- Recive_table[ii++]=RX_temp;//存入缓存
- if(RX_temp=='=')//检测到换行
- {
- Recive_table[ii]='=';//放入换行
- ii=0;//清除为下次接收做准备
- RX_flag=0;//接收完成清除标志
- RX_ok=1;//接收完成
- }
- }
- }
- ES=1;//开启串口中断
- }
复制代码
|