Re: Ukazka C++ pro děti

Michal Vanka junk.mv na gmail.com
Středa Březen 31 09:41:16 CEST 2021


... a dale:
1) promenna tlacStickPred by mela byt soucasti tridy tlacitko.
2) Stisk by se mel testovat volanim metody, treba stisknuto()

                               if (Tlacitko.stisknuto()) { // právě bylo
stisknuto, vyvolat událost

                                               Tlacitko.stisk();

                               }

Dale, ty deti uvidi C++ poprve v zivote a nebo uz maji nejake zkusenosti
(treba s C)?

Spise bych to videl na a) zacnu s C (kdekoli), b) zjistim, co je C++ a to
tam, kde mam dobry debugger (visual studio),
c) pouziju C++ v mikrokontroleru

Kazdopadne hodne stesti...

-mv


On Wed, Mar 31, 2021 at 8:13 AM Pavel Brychta <pavel.brychta na duhasys.eu>
wrote:

> Přesně tak - konstruktor by měl pouze nastavit vnitřní proměnné a stavy
> daného objektu. Pokud například chci použít ten GPIO, který je
> "normálně" obsazený LED diodou jako vstup, který umožní něco nouzově
> inicializovat, tak to takto použít nejde - statický konstruktor třídy
> clLED nastaví ten GPIO jako výstup už při vytváření objektu. Pokud
> nastavení fyzického GPIO uděláte až v init(), begin(), setup(),
> start()..., tak do té doby můžete ten GPIO použít i jinak. Toto se týká
> jakékoliv periferie v MCU, kterou chcete obsluhovat objektově. A pokud
> tu inicializaci potřebujete proto, aby ta LEDka nesvítila od zapnutí
> napájení, tak pak je chyba v hw designu, kterou sice je možné částečně
> napravit ve fw, ale je třeba na to někde upozornit a nemělo by tohle
> řešení být pravidlem. Dalším závažným problémem pak je v clTlac::stisk()
> to nešťastné přímé volání globálního objektu Led.blikat() a statická
> proměnná b - tady bych udělal to, že b přesunu asi jako proměnnou
> objektu clTlac a rozhodně nebudu volat Led.blikat() - buď to udělejte
> jako callback, nebo registrujte referenci na objekt Led přímo ve třídě
> clTlac.
>
> Pavel Brychta
>
> Dne 30. 03. 21 v 21:58 Miroslav Šinko napsal(a):
> > Osobne sa drzim toho, ze v konstruktore by sa mal "nastavit" len dany
> > objekt, t.j. jeho premenne. Konkretne tuto si myslim, ze nie je dobry
> > napad inicializovat registre procesora. Objekty su vytvarane ako
> > globalne premenne, jednoducho povedane ktovie kedy a ktovie v akom
> > poradi. Nastavenie registrov procesora by som v classach vyclenil do
> > metod s nazvom povedzme init a tie volal v maine namiesto komentara
> > "tady nic neni: inicializace je v konstruktorech".
> >
> > miro
> >
> > On 30.3.2021 20:08, Pavel Hudecek wrote:
> >> Dobrý den všem,
> >>
> >> Udělal jsem malou ukázku programu v C++ pro děti na kroužek, prosím o
> >> zhodnocení, zda v tom nejsou nějaký nevhodný věci:-)
> > _______________________________________________
> > 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
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20210331/bf994b40/attachment.html>


Další informace o konferenci Hw-list