ARM:0002 versija B, TXT LCD

Kol kas visiškai neapsisprendžiau kokia “baze” remtis programuojant STM32 mikroschemą. Dabar tik eksperimentuoju ir paprasčiausiai pakartojau senesnį ARM projektą su tekstiniu LCD ekranėliu. Kol kas nebraidžiojau optimizacijos pinklėse ir naudojausi kažkieno sukurtais primityvais, kurie gana griozdiški viduje. Tačiau šaip – ne taip pavyko paleisti.

STM32 LCD tXT
(dešinėje skaičiukas kur neaiškus tai fotikas pagavo momentą kai keičiasi reikšmė)

Kokios iškilo bėdos? Pagrindinė bėda buvo suvokti kaip galima duomenų pinus operatyviai perprogramuoti iš OUTPUT į INPUT. Pas mano naudojamas bibliotekas ten naudojamos griozdiškos struktūros. Ir aišku tingėjau skaityti instrukcijas.
Pradinė užduotis buvo, kad LCD gali būti prijungtas prie bet kurios kojos, bet poto teko supaprastinti, kad visdėlto jungiasi prie to pačio banko. Čia išlindo pirmas skirtumas tarp atmelio SAM7 ir STM32. Pas atmelį PIO kojos bent jau 32, priklauso vienam bankui. Gana logiška- CPU tai 32 bitų ir vienu smūgiu galima pakeisti 32 kojas. Pas STM32 kojos suskirstytos po 16 kiekvienam bankui. Kas baisiau, rodos viduje ten dar suskirstyta po 8 bitus ir išmaukyti tie bitai kažkokia tvarka. Aišku, gal galima skirtingus bankus valdyti skirtingais laikrodukais, o gal taupyti elektrą ir gal juos išjunginėti? Tačiau dingsta paprastumas… Kodėl taip padaryta aš nežinau. Bet man nepatiko.

A! dar kažkaip užmiršau, kad mano LCD tai 5V technologija, o STM32 tai 3V. Tai vieną vakarą prasikankinau be reikalo. Kažkaip galvojau, kad mano testinis ekranėlis veikia su 3V maitinimu.

ARM STM32F103 TXT LCD source code.

Leave a Reply

Your email address will not be published. Required fields are marked *