Zpět na seznam článků     Zpět na článek

Komentáře ke článku

 
 
 BBCode
Balů | 89.203.224.*30.1.2021 12:22
DDRB = 0b11110000;
PORTB = 0b00000000;
/*
U nejvyšších čtyř bitů byly aktivovány interní pull-up rezistory a u nejnižších čtyř bitů byla tato funkcionalita deaktivována. Deaktivací připojení interních pull-up rezistorů v módu „ je vstup nastaven do stavu vysoké impedance a je náchylný k rušení.
*/

Tohle je špatně. I když se jedná spíše o překlep. Registr DDRx uřčuje, jestli je pin vstupní (0) nebo výstupní (1). Až v případě, že je pin vstupní (příslušný bit v DDR je 0), pak teprve regisrt PORTx určuje, jestli je na příslušném pinu pull-up (1) nebo ne (0).
Jiri Pittner | 147.231.28.*26.1.2016 13:03
Hnz2: Myslim, ze prirazeni v podmince defaultne vraci warning,
a to proto, ze je to mozny preklep z == na =. Nekdy to kod zprehlednuje,
nekdy mozna spis obfuskuje :-).
RamirezXX: Souhlasim, stisk tlacitka navic casto ma vyvolat interrupt
a davat delay do interruptu by byla pekna zhovadilost... Pro nejjednodussi projekty se to tak udelat da...

Co se tyce hw odstraneni zakmitu, doporucuje se mit jeste jeden rezistor,
aby se kondenzator nevybijel zkratem rovnou do tlacitka, viz napr.:
[link]
Ale z vlastni zkusenosti muzu rict, ze mi reseni jen se 10-100nF a internim pullupem na AVR funguje spolehlive v rade zarizeni.
RamirezXX | 109.238.35.*25.1.2016 20:24
Docela nechapu, proc vsude v tutorialech najdu funkci delay. Chapu, ze je to snadne, pockat si, treba pul vteriny a pak zmenit stav na pinu a tim blikat ledkou ... ale prakticky je to prece uplne spatne, dela to spatne navyky. Pokud budu pul vteriny cekat, tak uz nestihnu obnovovat display, cist stav klavesnice, vzorkovat AD prevodnikem, generovat pwm, komunikovat po seriove lince a jeste k tomu neco pocitat ... ty procesory jsou dost rychle, aby tenhle pseudo tasking v pohode stihaly, ale s tim delay tezko Anezko ... myslim, ze to je pro zacatecniky medvedi sluzba.
Hnz2 | 85.71.231.*23.1.2016 18:45
Díky za další díl, dobrá práce. Jenom dvě poznámky:

"Použití operátoru přiřazení v podmínkách či cyklech vždy navrací chybu kompilace." - ne, tak to opravdu není pravda. Je pravdou, že toto je dost častým zdrojem chyb, hlavně když člověk dříve dělal v Pascalu. Ovšem použití přiřazení v podmínkách může být žádané a zpřehledňovat kód. Na druhou stranu třeba MISRA C toto zakazuje.

Zkrácené vyhodnocování logických výrazů též není úplně jasně popsáno. Nemusí totiž platit za všech okolností. Je pravdou, že začátečník by s ním asi měl počítat.

Stránky: 1