Nokia 3310 LCD verbinden met USB met behulp van AVR (8 / 9 stap)

Stap 8: Schrijven om de weergave van hostsoftware

Wegschrijven naar het display is zeer eenvoudig, en uitgelegd hier.

Alle communicatie met het apparaat wordt gedaan met de functie SendData (int verzoek, int data). Deze functie is eigenlijk een kortgesloten versie van een functie met de naam usb_control_msg. Wij gebruiken de kortgesloten versie omdat de usb_control_msg echt lang en rommelig is. (The SendData functie is gedefinieerd in het bestand USBFunctions.cpp.)

Ik alle codes van het verzoek die ik met namen gemaakt heb hebt gedefinieerd, maar u kunt getallen als je wilt.

Als u wilt schrijven pixels op het scherm, gebruikt u de functie SendData ( SEND_DATA, data) , en de "gegevens" te vervangen door een 1-byte int. Dit zal 8 pixels op de huidige locatie van de XY schrijven. Houd er rekening mee dat het taks een lange tijd om te schrijven een heleboel pixels naar het scherm met behulp van deze methode. Als u tekenen van vele pixels echt snel wilt, moet u deze code op de chip zelf insluiten.

Voor het verzenden van een opdracht, gebruikt u de functie SendData ( SEND_COMMAND, data) , en de "gegevens" te vervangen door een opdracht
(Zie de LCD-dataseet voor opdrachten, pagina 14)

Wissen van het scherm, de SendData ( SEND_CLEAR, 0) -functie te gebruiken. Hierdoor wordt de AVR loting 0 om alle pixels op het scherm. Het is veel sneller te laten de AVR hiervoor, dan doet het handmatig via de hostsoftware. Dit moet uiteraard geen extra gegevens vervolgens het verzoek zelf.

Als u opgeven een XY-locatie om te schrijven wilt, gebruik SendData ( SEND_XY, (y << 8) + x). Vervang Y met een getal tussen 0 en 5, en de X door een getal tussen 0 en 83. Dit stuurt 2 bytes naar de AVR, en dat is de reden dat we verschuiven de Y door 8 (de Y-waarde is dus bij het 2de byte).

Gebruiken voor het verzenden van een ASCII-teken op het scherm, SendData ( SEND_CHAR, data). Tekens moeten bestaan uit enkele aanhalingstekens, bijvoorbeeld: SendData (SEND_CHAR, 'A').

Als u schrijven een heleboel tekens willen zou, kunt u de tekenreeks in een array opslaan en gebruiken van een lus, zoals dit:

unsigned char [] buffer = {"mijn STRING12341! \n"};
for (int j = 0; j < sizeof (buffer) -1; ++ j) {}
SendData (SEND_CHAR, buffer[j]);
}

Merk op dat u de nieuwe regel ( \n ) gebruiken kunt om te springen naar de volgende regel op de Y-as. Het bespaart u een hoop moeite.

Gerelateerde Artikelen

Zelfgemaakte batterij monitor met behulp van AVR

Zelfgemaakte batterij monitor met behulp van AVR

jongens,Ik wil delen mijn experiment met spanning de divider, ADC en AVRZelfgemaakte batterij monitor met behulp van AVRHet is vrij eenvoudig de sensor zijn slechts twee weerstanden en zener-diode met capasitor, ik ze niet kopen, ik vond het in mijn
LCD afstandsmeting met behulp van Arduino

LCD afstandsmeting met behulp van Arduino

En na het doorvoeren van een paar robotic tutorials, heb ik besloten om te gaan in meer detail over sensoren. Om te beginnen van met ik kies een ultrasone sensor en een Arduino als de micro-controller.Dit Instructable is puur voor uitkeringsontvanger
Weergave van temperatuur op LCD-scherm met behulp van STS-21(I2C)

Weergave van temperatuur op LCD-scherm met behulp van STS-21(I2C)

HalloGoede groeten..!! Ik (Somanshu Choudhary) op de rekening van Dcube tech ventures gaan voor het meten van de temperatuur met behulp van de Arduino nano en deze weer te geven op 16 X 2 LCD het is een van de toepassingen van de I2C protocol om anal
Bestuur van de LCD-scherm met behulp van een Linkit en Bluetooth

Bestuur van de LCD-scherm met behulp van een Linkit en Bluetooth

HalloIn dit instructable leert u over interfacing LCD met Linkit één en het beheer van het zelfde met BluetoothStap 1: Onderdelen die vereist zijn LinKit één BoardArduino UNO16 * 2 LCD met LCD schildBluetooth-antenne (gevonden samen met Linkit één)Sm
Directe lezing van LCD-scherm met behulp van algemene doel IO

Directe lezing van LCD-scherm met behulp van algemene doel IO

Moeilijkheid: e a s y .. Schema, solderen, C programmerenVeel apparaten hebben schermen van LCD (Liquid Crystal Display) - uw magnetron, digitale klok en Weegschaal zijn een paar bekende voorbeelden. Meer dan eens, heb ik wil kunnen gebruiken op een
Draadloze elektriciteitstransmissie met behulp van AVR's voor AVR's

Draadloze elektriciteitstransmissie met behulp van AVR's voor AVR's

Een krachtige... Compact... Kosten effectieve... En gemakkelijk Wireless Power Transmission Module...Gelieve Stemming voor mij als je het...Zo zijn er een heleboel van de Modules op het web... Maar mijn inspiratie is "Wireless Power" door robotk
INFRA rood REMOTE CONTROLLED ROBOCAR met behulp van AVR (ATMEGA32) MCU

INFRA rood REMOTE CONTROLLED ROBOCAR met behulp van AVR (ATMEGA32) MCU

Het huidige PROJECT beschrijft een ontwerp en de implementatie van een infrarood (IR) externe gecontroleerde RoboCar die kan worden gebruikt voor verschillende geautomatiseerde onbemande control toepassingen. Externe gecontroleerde RoboCar (links-rec
LOGO Emulator met behulp van AVR

LOGO Emulator met behulp van AVR

veertig jaar geleden onderzoekers ontwikkelde een programmeertaal die een briljante educatief hulpmiddel zou worden. Logo was een interessante programmeertaal, ontworpen door Seymour Papert voor kinderen, zodra veel in scholen gebruikt, maar nooit vo
Arduino draagbare Weather Monitor, hoogtemeter, temperatuur, vochtigheid, met behulp van DHT11 en BMP85 met LCD-scherm met behulp van slechts 3 pins

Arduino draagbare Weather Monitor, hoogtemeter, temperatuur, vochtigheid, met behulp van DHT11 en BMP85 met LCD-scherm met behulp van slechts 3 pins

ik heb dit project, omdat ik vaak bergen zoals in de afbeelding beklimmen en ik moet weten de hoogte, de temperatuur en ook wijzigingen in de weersomstandigheden, soms in slechts enkele minuten het weer krijgen zeer slecht, met een zeer dichte mist,
Afbeeldingen op Nokia 5110 Lcd met behulp van Arduino

Afbeeldingen op Nokia 5110 Lcd met behulp van Arduino

In deze korte instructable I 'm gonna displ sommige afbeeldingen op Nokia 5110 LCD-scherm met behulp van de ARDUINO UNO R3 zulks zelfs zit nuttig voor beginners is hier is een test video.Stap 1: Benodigde materialen Nokia 5510 LCDArduino boardJumper
Zin kamertemperatuur en Display in LCD met behulp van Simulink en Arduino UNO

Zin kamertemperatuur en Display in LCD met behulp van Simulink en Arduino UNO

Sensing en weergeven met behulp van Arduino kamertemperatuur is heel gebruikelijk en vindt u tal van tutorial instructablesand andere vergelijkbare sites. Maar ik heb niet gevonden een tutorial overal hoe dit te doen met behulp van Matlab/Simulink. M
Hoe te rijden een karakter LCD wordt weergegeven met behulp van DIP-schakelaars

Hoe te rijden een karakter LCD wordt weergegeven met behulp van DIP-schakelaars

Deze tutorial leert u de basisprincipes van interfacing met een HD44780 compatibel display met behulp van een DIP-schakelaars en een paar andere onderdelen.Dit soort circuit is een geweldige manier om te leren hoe HD44780 werk weergeeft.Stap 1: Wat m
QR Code betaling apparaat met behulp van Intel Edison

QR Code betaling apparaat met behulp van Intel Edison

Sla de volgende 2 alinea's als u niet geïnteresseerd in onze motivatie bent.Er was een punt in tijd wanneer contant geld een voldoende betaalmethode is. Ons dagelijks leven wordt drukker en technologie gaat vooruit, we hebben een heleboel opties om t
Webcam Monochrome Display systeem met behulp van Galileo GEN2

Webcam Monochrome Display systeem met behulp van Galileo GEN2

Wilt u een Galileo GEN2 bord gebruiken om een webcam displaysystemen? Als u wilt, kan deze instructables realiseren uw wens!Wat u zult moeten:een bord van Galileo GEN2een microSD-kaart (2G ten minste)een USB-RS232 seriële convertereen Ethernet-kabele