Arduino buffer seriovém portu
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Sobota Únor 28 20:29:40 CET 2015
A neni nejlepsi se podivat do zdrojaku a pripadne si to i upravit, kdyz
uz je to open source?
Dne 28. 2. 2015 v 19:35 Petr Zapadlo napsal(a):
> 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 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
---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20150228/f50ee189/attachment-0001.html>
Další informace o konferenci Hw-list