First of all, I apologize in case I make some mistakes posting this question. I'm writing from Argentina and I'm trying to send data from ATmega32 (via UART) to ESP8266, and ESP8266 re-transmits this data on the air (via WiFi).
The problem is that some data is missing SOMETIMES, and sometimes it is sent OK.
For example, if I send voltage, frequency and current values, I would like to receive in my computer this data in cyclic sequence, like the following
"220.00" [V] "10.000" [A] "50.00" [Hz] "220.00" [V] "10.000" [A] "50.00" [Hz] "220.00" [V] "10.000" [A] "50.00" [Hz]
However, I see something like this
"220.00" [V] "50.00" [Hz] "220.00" [V] "10.000" [A] "50.00" [Hz] "220.00" [V] "50.00" [Hz]
As you see, some data is missing (not always the same field, neither all the time).
The code is the following.
int main(void) { char _buffer[150]; uint8_t Connect_Status; USART_Init(); /* Initiate USART with 115200 baud rate */ sei(); /* Start global interrupt */ while(!ESP8266_Begin()); ESP8266_WIFIMode(BOTH_STATION_AND_ACCESPOINT);/* 3 = Both (AP and STA) */ ESP8266_ConnectionMode(SINGLE); /* 0 = Single; 1 = Multi */ ESP8266_ApplicationMode(NORMAL); /* 0 = Normal Mode; 1 = Transperant Mode*/ if(ESP8266_connected() == ESP8266_NOT_CONNECTED_TO_AP) ESP8266_JoinAccessPoint(SSID, PASSWORD); ESP8266_Start(0, DOMAIN, PORT); while(1) { Connect_Status = ESP8266_connected(); if(Connect_Status == ESP8266_NOT_CONNECTED_TO_AP) ESP8266_JoinAccessPoint(SSID, PASSWORD); if(Connect_Status == ESP8266_TRANSMISSION_DISCONNECTED) ESP8266_Start(0, DOMAIN, PORT); switch (counter) { case 0: memset(_buffer, 0, 150); sprintf(_buffer,"220.00"); ESP8266_Send(_buffer); counter++; _delay_ms (500); /* Thingspeak server delay */ break; case 1: memset(_buffer, 0, 150); sprintf(_buffer,"10.000"); ESP8266_Send(_buffer); counter++; _delay_ms(500); /* Thingspeak server delay */ break; case 2: memset(_buffer, 0, 150); sprintf(_buffer,"50.00"); ESP8266_Send(_buffer); counter++; _delay_ms(500); /* Thingspeak server delay */ break; } } }
Thanks for any help. Dario