Public Documentation
  • Introduction
  • Getting started
    • Introduction
    • 1. Welcome Page
    • 2. Introduction (Beginner's Guide)
  • Portal Tools
    • Blocko
      • Ůvod do blocka
      • Flip-flop
      • REST-API bloček
    • Grid
      • Úvod do GRID
      • Základní Tlačítko (základy GRID)
      • vylepšený Přepínač (stylování a pokročilé možnosti GRID)
      • text generátor button (messeage type, two elements one widget)
      • graf (pokročilé funkce GRID)
      • Slider (User class v GRIDu)
      • Styly a jejich použití
  • Cloud
    • Cloud
    • Instancies
    • Rest-Api
  • General
    • What we plan
  • Hardware a programování
    • Úvod
      • Nahrání prvního programu
    • Konektivita
      • Specifikace zdroje internetu
      • GSM
      • 6LowPAN
      • Komunikace s portálem
      • Přepínání mezi servery
    • Hardware
      • Základní jednotky
        • IODAG3E
          • Rozhraní a periférie
          • Konektor X a Y
          • Napájení
          • Připojení zdroje k VBAT
          • Paměti
          • Technické specifikace
          • Schémata
        • IODAG3L
      • Rozšiřující moduly
        • GSM shield
        • LED shield
        • Relay shield
        • RFID shield
        • Ultrasonic shield
        • Meteo shield
        • Movement shield
        • PIR shield
        • RGB Displej shield
        • Serial shield
      • Ostatní
        • DevKitG3
          • Schéma
        • TK3G
          • Schéma
        • ZPPG3
          • Schéma
        • WEXP
    • Programování HW
      • Architektura FW
        • Aktualizace FW
        • Autobackup
      • Struktura programu
      • Byzance API
        • Vstupy a výstupy do Portálu
        • Callback Busy
        • Odložený restart
        • Callbacky připojení
        • Uživatelská makra
      • MBED API
        • Vstupy a výstupy
        • Komunikační rozhraní
        • Časování
        • RTOS
      • Knihovny
        • DHT
        • DS1820
        • Dali
        • EdgeStruct
        • I2CWrapper
        • Knock
        • MFRC522
        • MFRC522::MIFARE_Key
        • MPU9150
        • ms5637
        • OneWire
        • PCA9536
        • RGB_matrix
        • RollerDrive
        • SHT21
        • ST7565
        • Servo
        • TCA6424A
        • TLC59116
        • TripleSevenSeg
        • MFRC522::Uid
        • WS2812
        • WakeUp
      • Offline programování
        • Vlastní IDE
        • Upload kódu z GUI
        • Upload kódu z konzole
        • Upload kódu Drag&drop
    • Tutoriály
      • Datum a čas (RTC)
      • Komunikace po sériové lince (UART) s PC
        • Konfigurace sériové linky v PC
        • Programování sériové linky
      • Základní tutoriály
        • Digital Read
        • Analog Read/Write
        • PWM Fade
        • Timer/Ticker
        • State Change Detection
        • Ovládání LED modulu
        • BusOut
        • HC-SR04 Senzor
      • Pokročilé
    • Správa a diagnostika
      • Zdroj restartu
      • LED modul
      • Identifikace zařízení
      • Monitoring parametrů
      • Vytížení zařízení
      • Webové rozhraní
        • Základní přehled
        • Správce firmware
        • Vlákna
        • Definované vstupy
        • Konfigurace MQTT
        • Nastavení
      • Bootloader
        • Režimy bootloaderu
        • Command mód
        • Další vlastnosti bootloaderu
      • Webová konzole
      • Konfigurace zařízení
        • Confighash
      • Omezení konfigurace
        • Konfigurace
        • Binárky
        • Omezení MQTT
        • Lowpan
    • Knowledge base
      • Náhodná čísla
      • Watchdog
      • Paměť RAM
Powered by GitBook
On this page
  • Komunikace pomocí Serial
  • Inicializace
  • Ukázkový kód
  • Komunikace pomocí USB
  • Inicializace
  • Ukázkový kód
  1. Hardware a programování
  2. Tutoriály
  3. Komunikace po sériové lince (UART) s PC

Programování sériové linky

PreviousKonfigurace sériové linky v PCNextZákladní tutoriály

Last updated 7 years ago

Pro komunikaci po sériové lince s PC, nebo s libovolným dalším zařízením, je třeba vytvořit program, který sériovou linku inicializuje a dále bude odesílat a přijímat požadované zprávy. Zařízení IODA umožňuje incializovat sériovou linku dvěma způsoby, buď pomocí jeho , nebo pomocí emulátoru na konektoru microUSB.

Komunikace pomocí Serial

Serial je konstruktor z knihovny , který inicializuje Sériovou linku přímo na vývodech XY konektoru. Abychom mohli takto vytvořit linku mezi zařízením a PC, je potřeba využít TTL převodník, který interpretuje komunikaci na USB.

Inicializace

Serial pc(SERIAL_TX, SERIAL_RX);
pc.baud(115200);

Ukázkový kód

Jednoduchý kód pro výpis ''Hello word'' přes sériovou linku.

#include "byzance.h"

Serial    pc(SERIAL_TX, SERIAL_RX);

void init(){
   pc.baud(115200);
}

void loop(){
   pc.printf("Hello world\n");
   Thread::wait(500);
}

Komunikace pomocí USB

Zařízení IODA je dále schopné emulovat komunikaci po sériové lince přímo na konektoru microUSB tak ,aby nahradilo standardní sériovou linku a uživateli tak umožnilo komunikovat s PC bez nutnosti použít TTL převodník. Nevýhoda této komunikace je, že při každém restartu zařízení IODA je nutné zavřít a otevřít COM port, což prakticky znamená odpojit a znovu připojit sériový terminál.

Inicializace

Konstruktor USB linky může zůstat bez parametrů. V takovém případě se dosadí defaultní hodnoty. Nevýhodou může být to, že poslední parametr ''connect_blocking'' je dosazen za ''true'', což znamená, že zařízení nepokračuje ve vykonávání kódu, dokud není připojeno USB a konstruktor je blokující. To může být v mnoha případech nežádoucí.

USBSerial usb;

Vhodnější může být volba, aby USB konstruktor neblokoval kód, přičemž do parametrů konstruktoru je nutné připsat i produktové kódy zařízení. Konstruktor bude mít poté podobu.

USBSerial usb(0x1f00, 0x2012, 0x0001, false);

V případě USB se narozdíl od sériové linky nenastavuje baudová rychlost.

Ukázkový kód

Velmi jednoduchý kód pro výpis ''hello world'' pomocí USB může vypadat například takto

USBSerial usb(0x1f00, 0x2012, 0x0001, false);

void loop(){
   usb.printf("hello world\n");
   Thread::wait(500);
}

V programu se nejprve sériová linka inicializuje pomocí třídy Serial z knihovny . Argumenty konstruktoru jsou jména pinů TX a RX, na kterých se linka inicializuje.

Zařízení IODA umožňuje inicializovat několik sériových linek. Na kterých pinech se tyto linky dají inicializovat se lze dozvědět s dokumentace zařízení v sekci v oddíle UART/USART. V příkladu jsou místo jmen pinů použita makra SERIALTX a SERIALRX, tyto makra vedou na sériovou linku na pinech Y00 a Y01.

Dále je třeba zvolit baudovou rychlost, která určuje komunikační rychlost linky. To je nejvhodnější provést v sekci init(). Baudová rychlost může být různá, záleží na uživateli a pohybuje se většinou v rozmezí 1200 - 230400 baud. Stejnou rychlost je třeba nastavit .

MBED API
Rozhraní a periférie
vývodů na konektoru XY
MBED API
na straně počítače při připojení
Připojení sériové linky pomocí vývodů XY konektoru
Připojení sériové linky pomocí microUSB