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

Stap 5: Inzicht in de code van de USB-

Dit is waar de pret begint!

Als u dit hebt komt veel, moet je een scherm dat "weergeven geïnitialiseerd zegt" wanneer u stroom van het apparaat.

Als u het al hebt gedaan, download de broncode gekoppeld aan dit instructable, en we hebben een dichtere blik op hoe de AVR met het beeldscherm en de computer communiceert.

Als u nog nooit hebt gewerkt met V-USB vóór, het zou erg verwarrend op het eerste. Het was in ieder geval voor mij. Scroll naar beneden naar de usbFunctionSetup functie en we hebben een kijkje op hoe het eigenlijk werkt. Het gaat om de enige functie die u wilt bewerken naast de hoofdfunctie schelen.

usbFunctionSetup is de functie waar u het verwerken van alle gegevens die ik naar de microcontroller via USB stuurde. Als u merkt dat de als-instructies, controleer ze allemaal naar een specifiek nummer op de rq -> bRequest -variabele. Deze i waar de verzoek-codes worden opgeslagen. U kunt denken aan verzoek codes als opdrachten. Op de hostsoftware, hebben we een functie als volgt: SendData (int verzoek, gegevens), de waarde die je in de parameter van het verzoek zal worden overgebracht naar de microcontroller en opgeslagen in de rq -> bRequest-variabele, en kunt u deze code verzoek doen verschillende dingen in de usbFunctionSetup.

Ik heb alleen 6 verzoek codes, maar als je wilt om een 7e code gewoon aanvragen typt u dit in ergens in de usbFunctionSetup functie:

Als de aanvraag 7 is
als (rq -> bRequest == 7) {/ / opdracht 7 - SEND_MYCOMMAND
Doen mijn code
}

Als u nu de SendData functie als volgt oproepen: SendData (7, 0);
De instructie als die u zojuist hebt gemaakt, wordt uitgevoerd.

De 2e parameter in de functie SendData is de feitelijke gegevens die u naar de microcontroller verzendt. Dit nummer wordt opgeslagen in struct rq -> wValue . Dit is een woord (2 bytes), maar als alleen u hier gebruik van 1 van de 2 bytes opgeslagen wilt, kunt u dat doen met behulp van de matrix van bytes, zoals dit: rq -> wValue.bytes[0]. Als u gebruiken van het hele woord willen zou, kunt u het als volgt: rq -> wValue.word. Merk op dat u een unsigned int gebruiken moet als u wilt gebruiken het hele woord.

U moet geavanceerde functies die een lange tijd om te doen buiten de usbFunctionSetup functie zetten, en in plaats daarvan laat de hoofdlus uit te voeren. Als u ze in de usbFunctionSetup hebben en ze een lange tijd te voltooien (50 MS) gebruiken, verliest u mogelijk de USB-verbinding met de computer. Ik wilde hebben ze in de usbFunctionSetup omdat wegschrijven naar het display is veel sneller dan de USB (In feite, we schrijven een stabiele 1, 33Mbit/s tot de weergave en de weergave ondersteunt maximaal 4Mbits/s) dus ik niet de verbinding riskeert door het te lang duurt.

De rest van de code moet worden besproken genoeg voor u om te begrijpen. Als iets onduidelijk is, laat het me weten en ik zal proberen om dingen voor u duidelijk.

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