Programování uC Microchip v C

Urcite nieco take najdes.
Problem vidim v tom, ze ked Ti nejaky schopny student napise nejaky pekny program, ktory by mal presiahnut o jeden bajt rozsah free verzie, budes mu musiet vyvetlovat, ze skola je chudobna, alebo plnu verziu kupit - a to mozes urobit hned.
Tie 2/4kB vysledneho kodu nie je az tak vela, ako by sa na prvy pohlad zdalo a podla mojich skusenosti straci na velmi jednoduchu pracu.
Ak by mali napriklad naprogramovat LCD 2x16 (co je v principe par riadkov kodu), obsluhu tlacitok s filtraciou zakmitov, nejake jednoduche menu s 5-10 polozkami a prislusnymi popismi, editaciu premennej po jednotlivych digitoch, zopnutie, vypnutie nejakeho rele a obsluha nejakeho analogu, jeho normovanie (nedajboze s float :slight_smile: ) na fyzikalny rozmer - no poviem vam, to sa do 2/4kB kodu v C jednoducho (pisem jednoducho, mozno nejak zlozito za pomoci asm, alebo cele v asm, ale ani to take jednoduche nebude :slight_smile: ) nezmesti.
A az takato naozaj jednoducha uloha moze priviest pripadneho zaujemcu o jednocipy k praci s nimi. Mozete mi oponovat, ze sa jedna o skolu a nie o zaujmovy kruzok. Ak je to tak, potom je to so vzdelanim velmi smutne.

Aj ked som AVR-kar, urcite suhlasim, ze je jedno na akom beznom 8-bite (x51, ATmega, PIC18F ) sa clovek v skole to Ccko uci. Dolezite je, aby mal dobre ucebne pomocky a ochotnych, vzdelanych lektorov. Pozor ale na dostupnu RAM. S procesormi, ktore maju 72B RAM/2kB Flash by som Ccko ani nespajal. Nie je tam ako naucit a demonstrovat struktury, polia, vyhody ukazatelov, zapuzdrenie premennych, switch/case ( napr. pre to vyssie spomynane menu). Ak sa ma z Ccka iba ucit, ze

uint8_t a, b = 2, c = 8;
a = b+c;

potom to Ccko velky vyznam vo vyucbe nema.Len vyvola pocit, naco je nieco take neohrabane, ked v ASM sa to iste da napisat na polovicnom mieste. Vyhoda C sa prejavi naozaj az pri programoch vacsich ako 4kB. Na to ale zvycajne tie free verzie C-cok uz nestacia.