1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #include "esp8266.h"
- void esp_8266_task(void)
- {
- INT8U err = 0;
- UartFrame_TypeDef *msg;
- INT8U esp_state = 0;
- while (1) //等待倒计时
- {
- iwdg_feed(UART6_DOG);
- switch (esp_state)
- {
- case ESP_CWMODE:
- uart6_dma_send("AT+CWMODE=1\r\n", sizeof("AT+CWMODE=1\r\n"));
- OSTimeDly(1000);
- break;
- case ESP_RST:
- uart6_dma_send("AT+RST\r\n", sizeof("AT+RST\r\n"));
- OSTimeDly(1000);
- OSTimeDly(1000);
- OSTimeDly(1000);
- break;
- case ESP_CWJAP:
- uart6_dma_send("AT+CWJAP=\"FCC\",\"347470868\"\r\n", sizeof("AT+CWJAP=\"FCC\",\"347470868\"\r\n"));
- OSTimeDly(100);
- break;
- case ESP_MUX:
- uart6_dma_send("AT+CIPMUX=1\r\n", sizeof("AT+CIPMUX=1\r\n"));
- OSTimeDly(100);
- break;
- case ESP_SERVER:
- uart6_dma_send("AT+CIPSERVER=1,8086\r\n", sizeof("AT+CIPSERVER=1,8086\r\n"));
- OSTimeDly(100);
- break;
- case ESP_SEND_STATE:
- uart6_dma_send("AT+CIPSEND=0,25\r\n", sizeof("AT+CIPSEND=0,25\r\n"));
- OSTimeDly(200);
- break;
- case ESP_SEND_WORK:
- uart6_dma_send("dsadsadsadsadsadasds\r\n", sizeof("sadsadsadsadsadasds\r\n"));
- OSTimeDly(100);
- break;
- default:
- break;
- }
- msg = (UartFrame_TypeDef *)OSMboxPend(uart6_mbox, 500, &err);
- if ((err == OS_ERR_NONE) && (msg->len >= 0))
- {
- if (strstr((const char *)msg, (const char *)"OK") && esp_state == ESP_CWMODE)
- {
- esp_state = ESP_RST;
- }
- else if (strstr((const char *)msg, (const char *)"OK") && esp_state == ESP_RST)
- {
- // printf(msg->buf);
- esp_state = ESP_CWJAP;
- }
- else if (strstr((const char *)msg, (const char *)"WIFI GOT IP") && esp_state == ESP_CWJAP)
- {
- printf(msg->buf);
- esp_state = ESP_MUX;
- }
- else if (strstr((const char *)msg, (const char *)"OK") && esp_state == ESP_MUX)
- {
- printf(msg->buf);
- esp_state = ESP_SERVER;
- }
- else if (strstr((const char *)msg, (const char *)"OK") && esp_state == ESP_SERVER)
- {
- printf(msg->buf);
- esp_state = ESP_SEND_STATE;
- }
- else if (strstr((const char *)msg, (const char *)"OK") && esp_state == ESP_SEND_STATE)
- {
- printf(msg->buf);
- esp_state = ESP_SEND_WORK;
- }
- else if (strstr((const char *)msg, (const char *)"OK") && esp_state == ESP_SEND_WORK)
- {
- printf(msg->buf);
- esp_state = ESP_SEND_STATE;
- }
- else
- {
- printf(msg->buf);
- // return;
- }
- }
- OSTimeDly(100);
- }
- }
|