Controle van de Arduino met Gamepad (2 / 5 stap)

Stap 2: Leren seriële communicatie


Voordat we in proces van ontwikkeling duiken, wil ik u om te gaan over wat voorbereidend lezen om te begrijpen wat we proberen te doen. Ik heb reeds gecompileerd een eenvoudige tutorial over seriële communicatie (tweede link), zodat zodra u klaar bent, we met het ontwikkelen van een volledig functionele programma beginnen kunnen aan onze doeleinden.

LEZING MATERIALEN:

Wij zullen beginnen met het maken van 2 eenvoudige functies, waarmee zal openen en sluiten van de verbinding van de UART.

Hiervoor moet u MS Visual C++, paar handen en cafeïne-geïnfundeerd hersenen.

De initialisatie van de COM-poort is een ongecompliceerd proces: eerst maken we poort configuratie portDCB, waarin de communicatie-instellingen, en wijs wij de poortingang. Merk op, dat poort wordt geïnitialiseerd met CreateFile() functie-aanroep, en net als met conventionele bestanden kunnen we gebruik ReadFile() en WriteFile() gegevens uit te wisselen.

Wijs wij de nieuwe configuratie met SetCommState() functie-aanroep. Als we bij elke stap in dit proces een fout optreedt, zullen wij het juiste bericht afdrukken en FALSE terug te keren.

Anders, keren we terug waar en als gevolg van de uitvoering van UART_Init(), poort variabele nu verwijst naar een seriële poort handvat.

Met het oog op flexibiliteit krijgt de naam van de COM-poort en de baud-rate als argumenten van deze functie. Standaardinstellingen worden ingesteld op 8 transmissie de bitlengte met 1 stopbit. Pariteit, foutcorrectie en elk soort datatransportbesturing zijn standaard uitgeschakeld.

Sluiten van de COM-poort is heel eenvoudig. Alles wat we moeten doen is vrij van de greep (lijn 2) en stel * haven aanwijzer op NULL, zodat we per ongeluk geen toegang heeft tot de oude greep.

UART_Close() functie resulteert in ONWAAR als we proberen te sluiten van een niet-geïnitialiseerde of eerder gesloten poortingang.

Zoals u al hebt geraden, de volgende logische stap zal de uitvoering van functies voor verzenden/ontvangen van berichten van de UART. Het sleutelmoment van dit deel is dat we communicatie evenementen, beschreven in MSDN-artikel eerder vermeld zal gebruiken.

Ervan uitgaande dat onze arduino op het moment van verzending kan worden bezet en niet een passend antwoord kon bieden, willen wij wachten EV_RXCHAR gebeurtenis telkens RX binnenkomende gegevens heeft. Om aan te pakken dit probleem zullen we zetten een communicatie-masker en wachten op ons evenement voordat het lezen van de volgende byte.

Deze vier functies moet genoeg om fundamentele UART communicatie tussen Arduino en uw PC.

Nu, laten we het evalueren van de functionaliteit van onze code met een eenvoudige UART loopbacktest. We moeten eerst voltooien van de programma's _tmain() functie:

Deze code initialiseert haven COM8, dat mijn USB-UART-kabel is (Vergeet niet te veranderen dat deel aan uw port #). Vervolgens 100 berichten verstuurt via UART en afdrukken van zowel origineel bericht en antwoord. Uitvoering van de gebeurtenislistener mededeling eerder echt afbetaald aan het einde. Als u dit programma nauwkeurig bekijkt, ziet u dat wij alleen hebben gebruikt over een dozijn effectieve coderegels te laten werken!

Nu, laten we onze Arduino te werken als UART loopback apparaat instellen. We implementeert ook een UART gebeurtenisgestuurde mededeling te kunnen doen wat andere dingen terwijl het niet verzenden.

Toegankelijk opwaarts uw Arduino IDE en gebruik deze code als voorbeeld:

Nu kunt u uploaden van de schets aan de Arduino, de C++-project compileren en testen!

Gerelateerde Artikelen

Controle van de Arduino met behulp van android app

Controle van de Arduino met behulp van android app

In deze instructables ga ik uit te leggen hoe de controle van de arduino IO pinnen met behulp van een android app, die we hier schrijven.De mededeling zal via ethernet en gebruiken we het GET-verzoek voor het activeren van de IO.Laten we beginnen!Sta
Controle van een Arduino met PHP

Controle van een Arduino met PHP

hier is hoe te maken van je Arduino doen meer dan het internet zonder een ethernet of wifi schild. Dit is een eenvoudige manier om uw project bestuurbaar overal in de wereld!Stap 1: Platform CompatabilityDeze methode werkt niet onder Windows. Ik kan
Controle van een Arduino met uw iPhone

Controle van een Arduino met uw iPhone

Hey!Dit Instructable toont je hoe om te controleren van een Arduino met een iPhone zonder te programmeren van uw eigen applicatie van iOS. We gonna een LED flash maar u kunt ook een heleboel andere dingen mee doen!We zullen met behulp van een Arduino
Controle van de Arduino met visual basic 6.0

Controle van de Arduino met visual basic 6.0

Dit instructable is onderdeel van mijn boek Arduino + visual basic 6.0 (aanbrengen in uw eigen software controle arduino Robot.Visual basic 6.0 is een zeer oude versie sommigen kunnen vragen waarom we gebruik wilt maken van visual basic 6.0. Visual b
Controle van uw Arduino met een afstandsbediening

Controle van uw Arduino met een afstandsbediening

benieuwd over hoe om te controleren alles in uw huis met een eenvoudige afstandsbediening? Het is vrij eenvoudig en goedkoop.Stap 1: Verzamel spullen Hier is wat u nodig heeft:-Arduino (ik gebruik UNO)-Solderless breadboard-Een infrarood ontvanger-So
Controle van een Arduino met uw telefoon.

Controle van een Arduino met uw telefoon.

In dit Instructable zal ik laten zien hoe om te controleren uw spullen met uw telefoon en de arduino board. Ik heb alles gecontroleerd uit rookmachines ook Kerstmis licht is met dit programma.Video:Sorry dat de video is nogal vreemd, want mijn camera
Controle van de arduino met behulp van Blynk via usb

Controle van de arduino met behulp van Blynk via usb

Dit is mijn tweede instructable. In dit instructable zal ik laten zien hoe u kunt besturen LED met behulp van Blynk.Blynk is een applicatie die ons dashboard, evenals connectiviteit biedt. die u kunt downloaden van google play store (voor Android). &
Hoe de controle van de arduino met een mail

Hoe de controle van de arduino met een mail

Er zijn een heleboel oplossingen waarmee een Arduino board: web oplossingen, desktop applicatie oplossingen, hardwareoplossingen. Maar hoe zit het met e-mail? Ja, vind je iets op het web, maar ze nodig hebben voor ethernet schilden en vaak is Arduino
Controle van de Arduino met Android telefoon via Bluetooth

Controle van de Arduino met Android telefoon via Bluetooth

Hallo mensen, hier kunt u leren hoe u kunt besturen Arduino met Android telefoon via Bluetooth. U kunt uw smartphone als een afstandsbediening voor u verlichting van het huis systeem of u kunt gebruiken als een drone externe enz.Om de verbinding tuss
Controle van de Arduino met behulp van PHP

Controle van de Arduino met behulp van PHP

Ik heb onlangs gezien een heleboel problemen met betrekking tot PHP en Arduino. Vele mensen weten niet over feiten zoals die een arduino een 2 tweede (!) vertraging moet voordat het eventuele berichten via seriële kunt ontvangen. Er zijn een paar and
Controle van een Arduino met een horloge (TI eZ430 Chronos)

Controle van een Arduino met een horloge (TI eZ430 Chronos)

het horlogeDe Texas Instruments eZ430 Chronos is een coole gadget. Het heeft bidirectionele radiocommunicatie, en een gehele bos van sensoren: temperatuur, druk, versnelling.Het is in feite een development kit voor de MSP-430 (een low-power microcont
Controle van de Arduino met Blynk [USB] [beginners] Wireless overal in de wereld

Controle van de Arduino met Blynk [USB] [beginners] Wireless overal in de wereld

Hier is hoe u kunt besturen arduino met blynk via USB van overal in de wereld!Stap 1: Hier is hoe u kunt besturen arduino met blynk via USB van overal in de wereld!Bekijk en geniet!
Controle van de Arduino met Facebook - de gemakkelijke manier

Controle van de Arduino met Facebook - de gemakkelijke manier

Hallo vrienden vandaag ga ik u tonen hoe te verbinden uw Arduino aan FACEBOOK en extern beheren uw Arduino van overal in de wereld via uw Facebook-Account. OK dit is hoe het werkt, er is een Facebook-account die is aangesloten op de Arduino via een c
Controle van de arduino met visual studio via bluetooth

Controle van de arduino met visual studio via bluetooth

Hallo iedereen,Hier zullen we beheren een via bluetooth met uw pc o.l.v. een progam wirtten met visual studiowat je nodig hebt is:1) Arduino (een)2) Bluetooth-Module (hc05 of hc 06)3) geleid4) 2 weerstanden (10ko en 15ko)en u kunt het doen ;)alle cod