Arduino buffer seriovém portu

Petr Zapadlo zapik na email.cz
Sobota Únor 28 19:35:59 CET 2015


Zdravím,

doplním se,
  velikost se dá změnit např podle postupu zde:
http://www.hobbytronics.co.uk/arduino-serial-buffer-size

a když jsem to provedl tak to začalo i fungovat.
Nicméně v uvedeném souboru je psáno, že je to kruhový buffer, ale tak se 
rozhodně nechová.


Petr


Dne 28.2.2015 v 18:50 Petr Zapadlo napsal(a):
> To se právě pokouším zjistit, ale chová to nějak podivně.
> proto se ptám, abych si v tom udělal jasno. Z zprávy po resetu se mi 
> daří zachytit jen začátek.
> I velmi jednoduchý program, který to sype do stringu, tak stihne jen část:
>
> Úryvek testovacího sw:
>
> void loop()
>    {
>     String fronta ="";
>      while(Serial.available())
>             {
>               fronta += char(Serial.read());
>
>                 }
>
>
>         dbgSerial.print(fronta);
>
>        delay(4000);
>         Serial.println("AT+RST");
>     }
> Udělám reset a snažím se zachytit celý výpis, ale vidím jen:
>
> AT+RST
>
>
>
> OK
>
>
> ets Jan 8 2013,rst cause:4, boot mode:(3,0)
>
>
> wdt reset
>
>
>
> Přičemž celý výpis je:
>
> AT+RST
>
>
>
> OK
>
>
> ets Jan  8 2013,rst cause:4, boot mode:(3,7)
>
> wdt reset
> load 0x40100000, len 26952, room 16
> tail 8
> chksum 0x43
> load 0x3ffe8000, len 3476, room 0
> tail 4
> chksum 0xb6
> load 0x3ffe8da0, len 7396, room 4
> tail 0
> chksum 0x54
> csum 0x54
> rl
> ready
>
>
> Blbé na tom je to, že délka uvodního výpisu se liší dle verze firmware 
> a když čekám na "ready" tak se ho u delších výpisů nedočkám.
>
> Je na to nějaké řešení?
>
> Díky
>
> Petr
>
> Dne 28.2.2015 v 18:25 Jirka Mww napsal(a):
>> Jen jestli to není kruhový buffer , to by znamenalo, že tam pak
>> zůstane posledních 63 bytů
>>
>> Dne 28. února 2015 18:21 Petr Zapadlo<zapik na email.cz>  napsal(a):
>>> Zdravím,
>>>
>>> v souvislosti s ESP8266 narážím na to jak se chová buffer na seriovém portu
>>> arduina.
>>> Že má velikost 64 byte jsem se dočetl, ale jak se chová když přeteče - to
>>> nikde popsané není (nenašel jsem)
>>>
>>> Pokud mám ESP nastavené na ry se tchlost 115200 (většina FW a nedá se změnit),
>>> tak nestíhám odebírat data ze seriového port a posílat je na druhý,
>>> tentokráte SW port, který jede 9600.
>>>
>>> Pokud ESP vychrlí víc dat, tak mi v bufferu zůstane to co bylo na začátku a
>>> konec zmizí. Je to tak?
>>>
>>> Dá se to změnit, aby buffer přetíkal tak, aby obsahoval to co bylo poslnáno
>>> jako poslední?
>>>
>>> Díky
>>>
>>> Petr
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored bywww.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20150228/06152740/attachment.html>


Další informace o konferenci Hw-list