Stap 10: Aanhangsel - programmering van de verwijzing
Zie voor een meer volledige lijst van functies en andere programmeerinformatie 'Arduino\libraries\MRETV\ReadMe.txt'.Maak een scherm en start van de video-uitgang
VOID Screen.begin (const prog_char * CharBase, vluchtige uchar * textbuf, uchar lijnen, uchar cols, uchar boven, uchar links, uchar modus)
parameters:
CharBase - een pointer naar de teken shapegegevens in het programmageheugen
textbuf - een aanwijzer naar een matrix van de RAM van tekens weer te geven. Textbuf moet worden
cols x (lijnen / (fontheight x pixelheight)) bytes in grootte. Bijna altijd
pixelheight is 1 en letterhoogte is 8 zo de grootte van de textbuf cols = x lijnen / 8.
lijnen - totale scannen weer te geven regels
cols - totale kolommen weer te geven (elke kolom = 8 pixels)
Top - scanlijn om te beginnen met display
links - pixel tellen om te beginnen met display
modus - pixelgrootte (breedte van de hoogte 5-7 bits 0-4) 0 hoogte is experimenteel interlace.
functies weergeven
Screen_progstr(Line,Col,String) / / zet vooraf ingestelde string op scherm op een locatie
Screenprogstr(String) / / zet vooraf ingestelde string op scherm op huidige locatie
VOID Screen.write(uchar a) / / plaatsen een teken op de huidige locatie en advance locatie
VOID Screen.write (uchar lijn, uint col, uchar c) / / locatie dan write() karakter set
ongeldig Screen.render(uchar a) //place teken zelfs niet afdrukbare. (grote functie behoeftehulp van I met)
VOID Screen.str (char * c)
VOID Screen.str (uchar lijn, uint col, char * c)
VOID Screen.hex (uchar c)
VOID Screen.hex (uchar lijn, uint col, uchar c)
VOID Screen.hexint(uint i)
VOID Screen.hexint (uchar lijn, uint col, uint ik)
char * Screen.udec (uchar lijn, uint col, uint d) / / aanwijzer terug naar str
char * Screen.udec (uint d) / / aanwijzer terug naar str, aangezien wij het hebben.
char * Screen.dec (uchar lijn, col uint, int d) / / aanwijzer terug naar str
char * Screen.dec (int d) / / aanwijzer terug naar str, aangezien wij het hebben.
char * Screen.bin (uchar b) / / aanwijzer terug naar str, aangezien wij het hebben.
char * Screen.bin (uchar lijn, uint col, uchar d) / / aanwijzer terug naar str
wissen van een veld voordat over afdrukken
VOID Screen.fill (uchar b, int count) / / set tekens, Wijzig huidige locatie niet als count negatieve
VOID Screen.fill (uchar lijn, uint col, uchar b, int count) / / locatie instellen, set tekens, verander niet cur loc weer als count negatieve
functies van de vorm
VOID Screen.fill (uchar c) / / het scherm vullen
VOID Screen.fillrow (uchar lijn, uchar c) / / vullen op een rij
VOID Screen.fillcol (uint col, uchar c) / / een kolom vullen
VOID Screen.rect (uchar rij, uint col, uchar wi, uchar Hallo, char c)
VOID Screen.frame (uchar rij, uint col, uchar wi, uchar Hallo, char c)
pixel niveau functies
niet geformaliseerd in MRETV 1, prototypes opgenomen in Ponguino (Zie bron opmerkingen)
scherm hulpfuncties
scherm hulpfuncties
VOID Screen.setcurloc (uint loc) / / de absolute locatie instellen
uint Screen.setcurloc (uchar lijn, uint col) / / line col naar locatie
uint Screen.skip(char sk) / / verder en terug te keren van positie.
VOID Screen.bound() / / curloc plaats op scherm
VOID Screen.scroll() / / scherm 1 tekstregel omhoog verplaatsen
UCHAR Screen.get() / / krijgen karakter op de huidige locatie en de opmars van de huidige locatie.
UCHAR Screen.get (uchar lijn, uint col) / / huidige locatie instellen en retourneren van het teken daar geen voorschot
char * Screen.time() / / moet nulpunt ooit 24 uur hier niet gedaan...
Scherm Eigenschappen ***
UCHAR * Screen.poke; verwijzing naar curloc
uint Screen.curloc; huidige locatie gecast als integer
uint Screen.end; limiet van scherm gecast als integer
char Screen.width; berekende breedte van begin(), de echte breedte kunnen dynamische
Opmerking de twee vormen gebruikt om overbelasting van de functie. Beide slaan Ram door tekenreeksen
alleen in het programmageheugen. Het je niet ze wel gebruikt tekst zal gebruik maken van een heleboel RAM.
Screen_progstr(Line,Col,String)
Screenprogstr(String)
gebruik: screen_progstr (0,0, "Hello World");
screenprogstr ("Ik eet dus ik ben");
Videofuncties ***
nietig off(); stoppen met alle activiteiten van de MRETV en CPU-gebruik
VOID on(); MRETV, alleen na een off() opnieuw opstarten
seriële poort softwarefuncties 2400 8 N 1
char Video.readS() / / lezen van seriële buffer
VOID Video.writeS(char a) / / seriële uitschrijven
VOID Video.stringS (const char * b) / / seriële uitschrijven
functies van een toetsenbord
char Video.readK() / / lezen van belangrijke buffer
UCHAR Video.read() //filtered lezen (geschud maar niet stirred) toetsenbord stream
char Video.write2key (datum uchar) / / uitschrijven op de PS/2-poort
char Video.leds (char l) / / bits 0 1 2
char Video.keyrate (char l) / / volgens specificaties van de ps/2-toetsenbord
muisfuncties
char Video.EnableDataReporting() / / Let muis praten
char Video.SetRemoteMode() / / verslag alleen als dit gevraagd
char Video.SetStreamMode() / / verslag zo nodig
char Video.ReadData() / / vragen voor verslag
Video-eigenschappen ***
uint Video.LineCount; raster lijn op het scherm die momenteel in voorbereiding
UCHAR Video.ScreenWidth. ScreenTop. ScreenBottom. ScreenCenter; actieve schermgebied
UCHAR Video.ScreenMode; pixelgrootte (breedte van de hoogte 5-7 bits 0-4) 0 hoogte is experimenteel interlace.
uint Video.FrameCount, Video.FrameHigh; Als uitbreiding geselecteerd frame = 262 rasterlines = schilderij van één scherm
Const prog_char * Video.audiodatar,*Video.audiodata;
UCHAR Video.speckey,Video.fjin;
UCHAR Video.f2jin;
UCHAR Video.arcount, Video.alcount
Geluid, voor optimale auditieve excitatie gebruiken SLUG geluid EENHANCERS
duur tellen 1/60 sec, 0 = uit, 255 continu
afspelen vanaf een array van monsters, geluiden [];
setaudior (geluid index, duur)
setaudiol (geluid index, duur)
setaudio (geluid index, duur)
speelt het opgegeven geluidsvoorbeeld.
ssampler(sample,duration)
ssamplel(sample,duration)
ssample(sample,duration)