本帖最后由 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;//開啟串口中斷
- }
復制代碼
|