• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

esp8266 eating the 'e'

Dr_Doggy

Well-Known Member
Thread starter #1
so i got several of these esp modules, first this one:
https://www.robotshop.com/ca/en/elecrow-espduino-uno-microcontroller-esp8266-wifi-board.html

I have put it to the software serial pins and reduced the baud since some funny chars showed up and seems to be working better, however i have just done a test by writing most of the characters to it , however it seems to have a problem with the small letter "e" ONLY!
It seems to be a problem in the module because i have discovered that if i send the letter in through serial it responds but without the 'e''s in it

i did another test where i connected through the wifi on cellphone and sent the string qer but it comes through to the arduino like this: +IPD,0,5:qr
even when the ESP is spewing data to the arduino .. like firmware info it misses the e every time
i have also confirmed the ESP cannot hear the incoming e's either from the arduino


I have seen a similar problem to this in VB serial when a char is reserved for a parity value but didnt see this option in the ESP ..... any takers???
 
Last edited:

Dr_Doggy

Well-Known Member
Thread starter #3
... edit

i dont believe it , it was arduino code


working code:
Code:
void checkSerial(void)
{
    if (Serial.available())
    {
        char c = Serial.read();
        readString1 += c;
        if (c == 10)
        {
            Serial1.print(readString1);
            readString1 = "";
        }
    }

    if (Serial1.available())
    {
        char c = Serial1.read();
        readString2 += c;
        if (c == 10)
        {
            Serial.print(readString2);
            readString2 = "";
        }
    }
}
not working code...
Code:
void checkSerial(void)
{
    if (Serial.available())
    {
        char c = Serial.read();
        readString1 += c;
        if (c == 10)
        {
            readString1.replace(("" + (char)13), "");
            readString1.replace(("" + (char)10), "");
            Serial1.println(readString1);
            readString1 = "";
        }
    }

    if (Serial1.available())
    {
        char c = Serial1.read();
        readString2 += c;
        if (c == 10)
        {
            readString2.replace(("" + (char)13), "");
            readString2.replace(("" + (char)10), "");
            Serial.println(readString2);
            readString2 = "";
        }
    }
}
i had to use replace for the mt7681 it is more sensitive to \r\n's .. but idk why that lost my e's
 
Last edited:
#4
well, that makes no sense...but you already know that. Just for the heck of it - any difference with
AT+UART_DEF=9600,8,1,0,3
 
#6
lol sorry im not going to try that! i read in another thread that things mess up with that instruction
Glad you got it sorted out. Do you remember what thread (a link)says that things mess up with the instruction? I would like to know about that. Are you maybe confusing it with a different command (see here) or ?
 

Dr_Doggy

Well-Known Member
Thread starter #8
ok so secondly...
i got this one too...
https://www.robotshop.com/ca/en/esp...MIuuid9eq03wIVAgppCh1AowCuEAYYASABEgKTFPD_BwE

but it seems the usb is for power only!??
so now i read that i need sparksfun usb to uart converter for icsp pins ....
that is too bad .. i dont have one...
i understand why pickit would not work, but what about this:
https://www.spikenzielabs.com/Catalog/wireless/xbee/funduino-xbee-usb-adapter

it converts usb to uart, shouldnt it work, i think i am having a issue with the settings in arduino programmer?
 

Dr_Doggy

Well-Known Member
Thread starter #13
yes thanks! ... but look at the difference between working and not working.. strange eh>?

also now problem #2 ... see post 8
 

Latest threads

EE World Online Articles

Loading

 
Top