Nahrada AT89S52

Pro programovani v C asm znat nemusi.
Co se tyka optimalizaci, neni na tom GCC zrovna spatne. Pokud si nechas prelozit program v C a pak studujes, co to vytvorilo, rucne to upravujes a funguje to, tak to jsi teda frajer :wink:

Potreboval jsem jednou cvicit s pinama maximalni moznou rychlosti kterou mcu zvladne. Nechal jsem to prelozit pri ruznych optimalizacit a koukal, co to dela… Dospel jsem ke zjisteni, ze uz s optimalizacema o3 to ani rucne nenapises rychlejsi nez to vytvoril GCC. Jeste mi navic GCC ukazalo instrukce, o kterych jsem ani nevedel, ze existujou :smiley:

Bez asm se da bezproblemu obejit, staci jen znat zpusoob prace C a vliv ruznych klicovych slov, kteryma se da lecos urychlit a poladit. Co naopak JE potreba je schopnost pochopit datasheet psanej v anj…

Pro to, aby si mohl zacit hrat s mcu mu staci z C znat jen zlomek C (par cyklu, podminky, bitove operace, volani funkci, viditelnost promennych), mit datasheet procesoru a muze se vrhnout na vec. O pointerech, kterych se zacatecnici boji, nepotrebuje mit zpocatku ani paru.

Je-li jeho cilem C na kontrolerech, pres asm a x51 by ho cekala pomerne dlouha cesta… Brzy by totiz zjistil, ze jsou to lemry a cela architektura, kterou se naucil, je mu k nicemu a zbyde mu jen ten zpusob uvazovani nutny pro praci s mcu. Ten ale nemusi cvicit na obstaroznich x51.

Co se tyka spozdovcich smycek v main… Co na to rict… Kdyz nekoho ucis programovat, mel bys ho misto takovyhle uchylnosti naucit pouzivat preruseni. Takovy snizeni spotreby uspanim procesoru neni k zahozeni :wink: Mimo jine se tu nekde povaluje programek, kterej tu smycku (v asm) vygeneruje a s pomerne slusnou presnosti (desetiny procent).