Čia miksas tarp kiniško e-Paper straipsnio, ARM su pamažintu procesoriuku ir ST-Link programeriu. Ir aišku biški nostalgijos apie 8 bitus ir mano pirmus bandymus programuoti C. Gavosi toks kaip ir mini straipsniukas.
Kai tik buvo laisvo laiko nuo statybų, pasinagrinėjau apie STM32 procesoriuko kinišką moduliuką už kelis eurus. Čia jau gal net 64kb atminties, ir jau be vargo galima ką nors vizuališkesnio suprogramuoti nei su aštunta atmega. Užduotis buvo SPI ir ekraniukas. O kad nebūtu labai tuščias ekraniukas, sudėjau seno 8 bitų žaidimo “game engine” dalį. Daugiau programuoti aš jau patingėjau, bet vistiek bent jau matosi kas gaunasi jei nenaudojamas pilnas ekrano atnaujinimas.
Hardwarė be modifikacijų- tiesiai iš kino. Šiaip, vienas pastebėjimas- arba kažkokia klaida softe (bibliotekose), bet sukonfiguravus MCU dirbti ant 48MHz, softas rodo 72MHz. Dabar softas rodo 96MHz, bet ant tokio greičio šis MCU negali dirbti. Gal čia koks kiniškas fuflo MCU?
Čia gerai matosi “burn out” arba “ghosting”- artefaktai ant ekrano dėl nepilno refresh. O pats veikimas demonstruojamas tavo-vamzdžio puslapiuose.
Source code ir sukompiliuotas hex failas:
vaweshare e-paper SPI STM32.
Softas kiek apšluotas, atsirado delay_ms ir delay_us paprogramės (panašios į AVR) kurios remiasi systick ir jo pertraukimu.
P.S.
besimokant SPI labai pagelbėjo loginis analizatorius. Be jo bučiau užsiknisęs…
Čia blogai
Čia gerai.
Esmė tame, kad buvau padaręs klaidelę ir nelaukiau SPI galo. Naudojama paprogramė tikrino išsiuntimo buferio būklę. O AVR variantas tikrino ar siuntimas baigtas. Ko pasekoje, pas STM32 biški paskubėdavo išjungti vieną e-paper koją nepabaigus SPI paketo.
Senasis, gerasis Boulder dash… Nostalgija pramuša