Arduino - funkce serialEvent()

Petr Zapadlo zapik na email.cz
Středa Listopad 4 22:00:32 CET 2015


Děkuju, hlavně za ten kus z main.cpp ten dokumentuje jasně jak to je.

Petr

Dne 4.11.2015 v 21:57 David Obdrzalek napsal(a):
> A ještě doplnění - ne to jen něco jako přerušení, ale přerušení to není, protože
> když loop zatuhne a neskončí, tak se to nezavolá. Nejde to tedy použít pro probuzení
> z umělého uspání uvnitř loop.
>
> D.O.
>
> On 4 Nov 2015 at 21:55, David Obdrzalek wrote:
>> Mě se zdá ten tutorial špatně(*), protože v main.cpp (tedy alespoň ve verzi co mám
>> nainstalovanou) je tohle:
>> 	
>> 	setup();
>>      
>> 	for (;;) {
>> 		loop();
>> 		if (serialEventRun) serialEventRun();
>> 	}
>>
>> a ten serialEventRun je v Hardware.cpp, kde to zavolá serialEvent() nebo
>> serialEvent0() až 3() podle toho, kolik serialů na dané platformě je.
>>
>> Čili dle mého nejlepšího svědomí a vědomí se zavolá vždycky po každém zavolání loop
>> aj tak.
>>
>>
>> (*) Teda ono to v tom tutoriálu vlastně podle mě není zásadně špatně, ale spíš
>> zavádějící a to by tutorial být neměl, takže to nakonec je špatný tutorial :-) Ten
>> serialEventRun() se v tomhle tutorialu  bude volat vždycky dvakrát, jednou na
>> začátku loop a podruhé až to z loop vypadne ven. Tedy pokud to nebude platforma s
>> víc seriákama, která bude mít sama od sebe definovaný serialEvent0, 1 a další.
>>
>> D.O.
>>
>> On 4 Nov 2015 at 20:44, Petr Zapadlo wrote:
>>> Přeji pěkný večer,
>>>
>>> sice se obávám, že lehce rozpoutám slovní válku, ale teď je na hw-news
>>> takový poklid.
>>>
>>> V referenci k arduinu je popsána funkce serialEvent(). Je to v části
>>> Comunication/Serial.
>>> Dle popisu to chápu tak, že když je nějaký znak v RX buffru, tak by mi
>>> ji systém měl zavolat. (něco jako přerušení).
>>> https://www.arduino.cc/en/Reference/SerialEvent
>>>
>>> Nicméně dívám se na  example k ní a ten mě parádně mate:
>>> https://www.arduino.cc/en/Tutorial/SerialEvent
>>> jednak tam píší, že musí být v loop() - to teda není moc jako přerušení,
>>> když ji musím periodicky volat.
>>> Ale a to hlavně, v tom příkladu je normálně definovaná jako každá
>>> uživatelská funkce.
>>>
>>> Co jsem nepochopil? A jak to má správně fungovat.
>>>
>>>
>>> Díky
>>>
>>> Petr
>>>
>>>
>>>
>>> -- 
>>> Petr "Zapik" Zapadlo
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.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
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

-- 
Petr "Zapik" Zapadlo



Další informace o konferenci Hw-list