MRETV - Video, Stereo geluid en nog veel meer van een standaard Arduino! (10 / 10 stap)

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)

Gerelateerde Artikelen

DIY startpakket make-up en nog veel meer!

DIY startpakket make-up en nog veel meer!

ik ben geïnteresseerd in het maken van mijn eigen skin care producten voor vele jaren geweest. De belangrijkste reden dat ik mijn eigen maakte was want ik wilde bepaalde geuren die kon ik niet vinden en ik had van droge huid en wilde iets dat hydrate
Super Specs - 3D en nog veel meer

Super Specs - 3D en nog veel meer

de titel voor dit Instructable was echt moeilijk om te kiezen, want deze Super Specs zoveel toepassingen hebben.Zo veel toepassingen? Laten we een overzicht van een paar:* 3D stereo bril die zal werken op elk scherm dat passieve split polariteit voor
Hoe om gratis spullen te krijgen! Xbox live kaarten en nog veel meer!

Hoe om gratis spullen te krijgen! Xbox live kaarten en nog veel meer!

ik ga u tonen hoe om gratis spullen te krijgen!, simpelweg door het invullen van enquêtes, kijken naar video's, of zelfs het spelen van games om te verdienen punten naar het kopen van prijzen zoals Xbox live kaarten, Microsoft wijst, Wii punten... PS
Clip-on Case voor de iPod Nano, iPod Touch, Camcorder en nog veel meer!

Clip-on Case voor de iPod Nano, iPod Touch, Camcorder en nog veel meer!

Je hebt gezien de nieuwe iPodAanraking, en je hebt gezien dat de iPod Nano. U kunt de gevallen met Velcro® bandjes om te koppelen aan je arm heb bewonderd. Alle deze verbazingwekkende uitvindingen van Apple. Maar heb je een normale clip-aan-uw-riem i
Gelamineerd aluminiumfolie voor flexibele Circuits en nog veel meer

Gelamineerd aluminiumfolie voor flexibele Circuits en nog veel meer

LAF staat voor gelaagd aluminiumfolie - in dit geval mij zal zitten using huishoudelijke aluminiumfolie die is gelamineerd met regelmatige verpakkingstape. Het is sterk, duurzaam en scheurbestendige. Het is flexibel, geleidend, gemakkelijk knippen, g
Compost thee voor Hydroponics en nog veel meer...

Compost thee voor Hydroponics en nog veel meer...

Deze instructies gelden voor bemoedigend levende gunstige bacteriële introductie verblijfplaats in de wortels van je plant.NIET AANBEVOLEN VOOR STERIELE HYDROCULTUUROm te beginnen uw compost thee, moet u beginnen met een goede compost. Beste resultat
Afspelen van video op nokia kleuren LCD met behulp van een ATmega32

Afspelen van video op nokia kleuren LCD met behulp van een ATmega32

HalloIk ben mijn nieuwe video-speler gemaakt met behulp van een atmega32 microcontroller en nokia kleur LCD introduceren. Ik heb een 65K kleuren LCD van een oude mobiele telefoon van nokia 6030.  Ik gesoldeerd rechtstreeks 10 dunne geëmailleerd koper
EMERGENCY WATERVOORZIENING, meer van een lange termijn vaststellen dan flessen water in de kast

EMERGENCY WATERVOORZIENING, meer van een lange termijn vaststellen dan flessen water in de kast

dit is mijn lange termijn oplossing voor een noodsituatie toevoer van water.  Ik heb deze "water kubussen" tot mijn dakgoten vastgehaakt zodat kan ik een heleboel regenwater vangen.  Er zijn een heleboel producten die er voor de regen vat aanslu
Mix van originele & cool video's: Life-Hacks, koken, wetenschap experimenten, DIY, Crafting, voedsel Hacks, mechanica & nog veel meer!

Mix van originele & cool video's: Life-Hacks, koken, wetenschap experimenten, DIY, Crafting, voedsel Hacks, mechanica & nog veel meer!

Abonneren op Fixitsamo kanaal voor nieuwe video's elke Week!Schrijf je hier in: https://www.YouTube.com/subscription_center?add_user=fixitsamoMeer video's hier: http://www.YouTube.com/user/fixitsamo/videosVolg ons op:Instagram: https://www.instagram.
How to get 30% meer van een potlood

How to get 30% meer van een potlood

wanneer een potlood wordt gebruikt voor ongeveer 1/3 van de lengte, mijn hand is te groot om het te houden. Er is een manier om het te gebruiken op haar laatste inch. Wat moet u een stuk papier van A4- of wettelijke grootte.Stap 1: Snijdt u het papie
Hoe te maken van Knifes, omhulsels, zwepen, speren en nog veel veel meer mes

Hoe te maken van Knifes, omhulsels, zwepen, speren en nog veel veel meer mes

Disclaimer:Ik wil eerst dat twee zeggen dat ik er niet aanvaarden enige verantwoordelijkheid voor schade of letsel.(ook sorry voor eventuele spelfouten of interpunctie fouten zoals ik pas 13 jaar oud ben)Dus is hier mijn instructible op hoe te om lad
Alles over een bas: hoe om te spelen, uitzoeken, en veel plezier met een elektrische bas

Alles over een bas: hoe om te spelen, uitzoeken, en veel plezier met een elektrische bas

zo afschrikkende uit mijn meestal computer type insructable, heb ik besloten om een "artsy" een. Ik ben niet een master bassist, maar ik speel al 3 jaar en weten een beetje over wat ik over spreek.Stap 1: Plukken uit een bas Als je al een bas, a
Bouwen van een Stereo buizenversterker

Bouwen van een Stereo buizenversterker

Ooit wilde bouwen een levensgevaarlijk, inefficiënt, maar vreselijk retro stukje elektronica? Nou, heb ik. Dat is vrij veel wat een buizenversterker is. Vacuüm buizen zijn oude elektronische componenten die als transistors fungeren, controle op een h
Meer van Mobile Internet maken

Meer van Mobile Internet maken

dit ' ible is gericht meer op standaard en smart-ish telefoongebruikers, iphones zijn allemaal goed en wel, maar ze zijn duur en dergelijke, plus niet iedereen ze heeft aangenomen, of gewoon niet bevallen.Verrassend is het gekomen over een enorme hoe