Prisikasėm prie šio procesoriuko ADC (analog to digital converter). Čia irgi biški iškilo problemų. Pagrindinė- rodos nereikia nurodinėti, kad ADC koja priskiriama specialiai periferijai, o ne standartiniam PIO. Tipo jei pasirenki ADC kanalą, tai viskas susikonfiguruoja automatiškai. Kažkas man čia neaišku.
Dar dėl ADC periferijos clock, tai tipo jis visada įjungtas ir neišsijungia. Rodos taip parašyta datasheete.
Nu nėra ką čia daugiau pridurti. Veikimo principas panašus kaip ATMEGOJE, tik papildomai yra ne tik paskutinio nuskaityto ADC kanalo registras, bet ir kiekvienas ADC kanalas turi savo “asmeninį” registrą kurį galima vėliau nuskaityti.
Nu ir aišku source kodas bei kompiliuotas hex kodas, hexas sukompiliuotas Atmel AT91SAM7S256AU serijos čipui.
Tamsta iš patirties nepastebėjote, kiek tas ARM palyginti su panašiu AVR kodu vietos užima, t.y. kokie panašioms užduotėlėms hexai gaunasi? Ir šiaip įdomu, kiek atminties sunaudojama. Aš, aišku, žinau, kad tokius dalykus lyginti, kaip minimum, labai mėgėjiška, bet vis tiek smalsu… T.y. ar tikrai tame ARMe didesnis flasho ir RAM kiekis yra naudingas, ar jo atitinkamai natūraliai daugiau ir suvalgoma?
Netikrinau. Manau daug ėda ARMas, bent jau mano eksperimentuose, nes ARM reikalauja gana griozdiško inicializacinio kodo. O AVR kaip ir jo neturi.
Aišku automatiškai daug kur 32 bitų kodas griozdiškesnis. Kiek kompensuojasi naudojant “kompresuota” (rodos thumb) kodą. Čia apie pačią programą. O jau RAM valdymas gal labiau priklauso nuo vartotojo. Tačiau čia RAM dydis labai jau didelis.