UART - soros adat interfész

UART - soros adat interfész

Komoly fejlesztési környezet, mint a IAR vagy ATMEL Studio, mint általában tartalmaznak egy szoftver szimulátor a céleszköz, vagy szoftver eszközök dolgozó hardver hibakereső.







Arduino IDE környezet sem egyik, sem a másik, ami nagyban megnehezíti a keresést hibák a programban. A fordító azonosítja szintaktikai hibák csak, melyek mellett is vannak logikai (írásbeli valami jobb, nem csinál valamit), nem is beszélve a számítás különböző tényezők ... A programok nem írt hibát!

Van egy csomó hibakereső módszerek, de gyakorlatilag az összes szükséges fizikai kapcsolat a számítógéphez. Minden tábla Arduino (kivéve Pro és Pro Mini) a „fedélzeti» USB-csatlakozót és egy chip, amely átalakítja az UART interfész USB. Nézzük nem jön össze semmi extra, és nem egy egyszerű hibakeresés segítségével a felület, amit már!

ArduinoIDE fejlesztési környezet már az összetételét monitor soros port, amely lehetővé teszi adatok megtekintéséhez áthaladó port, valamint elküldeni az adatokat. Így tudjuk mindig át az adatokat a készülék közvetlenül a számítógéphez és a kijelző.

Monitor Arduino IDE - nem csak azt jelenti, hogy működjön együtt a port a hálózati megtalálható számos program, monitorok, amelyek lehetővé teszik, hogy ne csak az adatok fogadására, hanem a költségek grafika ezek alapján, hogy adatokat írjon az asztalra, és még sok más! Ez nagy mértékben egyszerűsíti a program hibakeresés.

Mivel az UART felület jelenik meg nemcsak az interfész konverter, akkor lehet használni közötti kommunikáció Arduino board, vagy például, táblák és érzékelők, de ez a téma egy másik cikk.

Az elmélet a felület

UART lefordították angol, úgy hangzik, mint „univerzális aszinkron adó-vevő”. Még mindig a szinkron változat egy további sort az órajel, de ez nem érdekes számunkra, mint része a cikket.

UART - soros adat interfész

Mindegyik bit minden egyes bájt átvitelre a megadott időintervallum egyenlő (valójában, időrés). A standard méretű adatok a csomagban 8 bájt, de ezenkívül minden csomag adatokat hordoz és szolgáltatásokkal kapcsolatos, az alábbiak szerint:

  • kezdeni bit (Kötelező)
  • stop bit (is szükség, használata 1, 1,5, 2 stop bit)
  • paritás bit (opcionális. Gyakran típusú páratlan, páros)

Röviden paramétereit az átvitt jel van írva, mint:

[Adatbitek számát] [paritás típusa] [stop bitek száma], azaz jellemzi a jelrögzítési 8N1 8 adatbit, nincs paritás bit (N - Nem) 1 stop bit.







Mivel az aszinkron felület, annál fontosabb az adatátviteli sebesség - és a vevő, és az adó meg kell egyeznie.

A sebesség mértékegysége a bit per másodperc, vagy röviden - Baud. RS232 szabvány magában foglalja sebesség 1200-115200, bár a sebesség és a kisebb valójában felett, akár több tíz Mbaudos!

Természetesen minden relatív pontosság és a sebesség soha nem lesz egyenlő a 9600 bodam akár egységet. A szabvány előírja, hogy a lehető hiba a sebesség akár 5% (3% -nál kisebb megbízható vétel).

Következő jelennek alapjait jel:

  • tétlen (készenléti) üzemmód, mind az adatsort felhúzva
  • kezdődik átviteli start bit (logikai nulla)
  • továbbító végződik stop bit (logikai egyet)
  • adatátvitel az LSB módban (LSB előre)
  • bájtokat átviteléhez szükséges legalább 10 bit

4800, 9600, 19200, 38400, 57600, 115200.

UART lehet futtatni mindkét felében (csak vételhez vagy adáshoz kizárólag) üzemmódot és egy teljes duplex üzemmód, a vonalak az adás és vétel elválasztjuk. TXD vonal továbbításáért felelős, RXD - fogadására, illetve egy vonalat a vevőt az adó keresztezett (TX-RX, RX-TX).

Végrehajtás Arduino

Minden Arduino board, épül alapján az eredeti, legalább egy interfész UART, az előleg, mint a Arduino Mega 2560 vagy Arduino Due, már csak 4 hardver interfész! Ezek nem feladata a vezérlő, mivel azok el vannak választva a magból; minden, ami szükséges -, hogy adja meg a port, és nyomja az adatokat a vágólapra, majd továbbítja a művelet megy függetlenül Önnek.

Persze, ott is szoftver-alapú UART, de hangsúlyozzák, a processzor. Mindenesetre, akkor jobb, ha a hardveres interfészeket az első, majd elkezdenek kitalálni valami szoftver.

Arduino szabályozók logikai szintek megegyeznek, hogy milyen az étel, vagyis a legnépszerűbb táblás Arduino UNO szinten lesz egyenlő - nulla = 0V 1 = 5V.

Pins csatlakozik interfész átalakító ellenálláson keresztül 1k és fésű a oldalán a fedélzeten - közvetlenül, így a jeleket az üldöző lesz magasabb a prioritása. Rendszeresen, ez megnehezíti a flash kártyák és a csatlakoztatott érzékelő UART, mivel a firmware is használják az UART.

Chip interfész átalakító nem teszi magát a másik COM-interfész a számítógép, csak utánozza azt. Ennek ellenére, az összes program, hogy a munka COM port a Windows API (Win32 API), nem tudom, a port a fizikai számítógép portjához.

Class Serial - RS232 a legjobb hagyományait az Arduino

UART - soros adat interfész

A kényelmes munka soros port Arduino fejlesztők írtak egy egész könyvtárat, ami nagyban leegyszerűsíti a munkát a port, referáló a végfelhasználó egy egyszerű „vas” dolgozó nyilvántartásokban. Az osztályban van egy csomó funkciók figyelembe kell venni az általunk tovább. De először meg kell érteni, hogyan a számítógép fogadja és feldolgozza, hanem inkább azt mutatják, amit adtam neki.

A lényeg az, hogy minden karakter billentyűzetkiosztás - ez is egy byte. És ha csak úgy, és elküldi a port száma 65, ez nem hozza a két szám 6, illetve 5 és megjeleníti a latin nagybetű A. Miért van ez így? Mivel a kódolási táblázat, A betű van a kód 65. A osztály segítségével választhat szöveges és bináris adatátviteli módszer, hogy van, el tudjuk küldeni a 65 és a két betű és a szám.

Class funkciók Soros

Serialx.begin (sebesség)

Hibakeresés programok segítségével a soros

Itt vagyunk, hogy eljusson a legszentebb misztériumát - most már a tudást és készségeket, hogy végre kezdődik a hibakeresés.

Azt ossza munkánk három szakaszra osztható:

  1. Adatok átvitele egy számítógépes program. Ez már elsajátította, akkor használja az osztály karakterlánc.
  2. Bármilyen monitor program megfigyeljük adatainkat
  3. Mi fogalmat tévesen alkalmazta a jogot, újra tesztprogram

Próbáljuk hibakeresés egy egyszerű program Arduino vezérlő interakció gombokat.

Egy egyszerű vázlatot, hogy adjunk egy pár blokkot, amely megjeleníti az állam a gombok a soros port:

Hibakeresés programok segítségével a soros osztály