V tem nadaljevanju se bomo naučili, kako uporabljati ukaze iz knjižnice Oled$SE.sub. Prav tako bomo spoznali 14 demo programov, ki ilustrirajo način uporabe in možnosti novih Bascom OLED ukazov.

Programi so pisani za mikrokontroler Atmega328P, ki je vezan tako, kot vidite na sliki 2 s predpostavko, da uporabljamo I2C komunikacijski protokol. OLED ukaze je možno uporabljati tudi z manj zmogljivimi mikrokontrolerji v drugačni vezavi, o čemer bom napisal več kasneje.
Priprava programa za uporabo ukazov iz Oled$SE.sub knjižice
Če želite s svojim Bascom-AVR programom uporabljati ukaze iz Oled$SE.sub knjižnice, je potrebno program ustrezno pripraviti na to. Najprej deklariramo mikrokontroler in frekvenco, na kateri teče ter definiramo ustrezno velikost sklada:
$regfile = “m328pdef.dat” $crystal = 16000000 $hwstack = 20 $swstack = 20 $framesize = 80
Velikost nastavljenega sklada je malenkost večja, kot je to običajno. To je nujno zaradi načina definicije OLED ukazov v Oled$SE.sub knjižnici. Bascom-AVR potrebuje nekaj prostora za začasne spremenljivke, za pošiljanje vrednosti v podprograme in pošiljanje vrednosti v podprograme in prevzemanje podatkov iz njih. Tudi ta prostor je rezerviran v zgoraj omenjenem skladu. Navedene vrednosti so dovoljšnje za delovanje vseh demo programov. V kolikor v programu, kjer uporabljate OLED ukaze, intenzivno uporabljate podprograme, prekinitve ali Bascom-AVR ukaze, ki pretvarjajo tekstualne spremenljivke v številčne in obratno (Str, Val, Hex, Lcd itd.), bo morda katero od nastavitev sklada potrebno povečati.
Omenil sem že kako OLED knjižnice uporabljajo novi način definiranja podprogramov in indeksiranje polja od nič (standardno indeksiranje je od 1 naprej). O tem obvestimo Bascom-AVR prevajalnik z ukazi:
Config Submode = New Config Base = 0Zdaj lahko v program vključimo knjižnico s podprogrami, ki se nahajajo v Oled$SE.sub datoteki:
$include “Oled$SE.sub”
Predpostavili smo, da se knjižnica nahaja v isti mapi, kot se nahaja tudi program. V nasprotnem primeru je potrebno napisati pot do mape. Nato lahko v programu uporabljamo OLED ukaze. Da pa bi funkcionirale tako, kot je zamišljeno, moramo nastaviti še I2C povezavo med mikrokontrolerjem in OLED-om in jo uskladiti s shemo povezave. Pri mikrokontrolerjih, ki imajo možnost nastavljanja hitrosti dela (ATMega328P je takšen) moramo uskladiti frekvenco uporabljenega kristala s frekvenco, kjer takt definiramo z ukazom $crystal. Zato moramo ustrezno nastaviti tovarniško nastavljeno deljenje taktne frekvence z 8 na deljenje z 1:
Config Clockdiv = 1Bascom AVR knjižnica za OLED prikazovalnik (3)
2015_SE235_31

