Sdílet prostřednictvím


Použití UART v aplikacích vysoké úrovně

Důležité

Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.

Azure Sphere podporuje univerzální asynchronní přijímače (UART) pro sériovou komunikaci. UART je typ integrovaného okruhu, který slouží k odesílání a přijímání dat přes sériový port na počítači nebo periferním zařízení. UART se běžně používají a jsou známé pro jejich jednoduchost. Na rozdíl od spi a I2C však UART nepodporují více podřízených zařízení.

Poznámka:

Toto téma popisuje, jak používat UART v aplikaci vysoké úrovně. Informace o použití UART v RTApps najdete v tématu Použití periferních zařízení v aplikaci podporující v reálném čase.

Aplikace vysoké úrovně Azure Sphere můžou komunikovat s rozhraními UART voláním rozhraní API rozhraní UART služby Applibs. Ukázka UART_HighLevelApp ukazuje, jak komunikovat s UARTs na zařízení MT3620.

Požadavky na UART

Aplikace, které komunikují s UART, musí obsahovat příslušné soubory hlaviček a přidat nastavení UART do manifestu aplikace.

Všechny aplikace musí nastavit cílový hardware a zahrnout odpovídající soubor hlavičky definice hardwaru.

Soubory hlaviček

 #define UART_STRUCTS_VERSION 1
 #include <applibs/uart.h>
 #include "path-to-your-target-hardware.h"

Před zahrnutím souboru hlavičky deklarujte definici UART_STRUCTS_VERSION preprocesoru. Určuje verzi struktury, kterou aplikace používá.

Nahraďte "path-to-your-target-hardware.h" cestou k souboru hlaviček vašeho hardwaru.

Nastavení manifestu aplikace

Nastavení UART v manifestu aplikace obsahuje seznam UART, ke kterým aplikace přistupuje. Objekt UART může současně používat jenom jedna aplikace. Pokud chcete tato nastavení nakonfigurovat, přidejte Uart do manifestu aplikace funkci a pak do této funkce přidejte každý objekt UART. Manifest aplikace Azure Sphere obsahuje další podrobnosti o manifestu aplikace.

V kódu použijte konstanty definované pro váš hardware k identifikaci UART. Kompilátor tyto hodnoty při sestavování aplikace přeloží na nezpracované hodnoty.

Tady je například výňatek z manifestu aplikace, který cílí na referenční vývojovou desku MT3620 (RDB) a konfiguruje dva UART v MT3620.

"Uart": [ "$MT3620_RDB_HEADER2_ISU0_UART", "$MT3620_RDB_HEADER4_ISU1_UART" ],

Následující výňatek ukazuje, jak určit stejné UART v aplikaci, které cílí na Úvodní sadu Avnet MT3620:

"Uart": [ "$AVNET_MT3620_SK_ISU0_UART", "$AVNET_MT3620_SK_ISU1_UART" ],

Konfigurace a otevření UART

Před provedením operací s objektem UART musíte nakonfigurovat nastavení a otevřít objekt UART. Když otevřete UART, vrátí se popisovač souboru, který můžete předat funkcím, které provádějí operace s UART.

Pokud chcete nakonfigurovat nastavení, zavolejte funkci UART_InitConfig , která inicializuje strukturu UART_Config . Po inicializaci struktury UART_Config můžete změnit nastavení UART ve struktuře.

Pokud chcete otevřít objekt UART a použít nastavení, zavolejte funkci UART_Open a předejte strukturu UART_Config.

Provádění operací čtení a zápisu u UART

Funkce POSIX můžete použít k provádění operací čtení a zápisu v objektu UART. Chcete-li provést operaci čtení u UART, zavolejte funkci read(). Pokud chcete na objektu UART provést operaci zápisu, zavolejte funkci write().

Zavření UART

Pokud chcete UART zavřít, zavolejte funkci POSIX close().

Podpora pro MT3620

Tato část popisuje možnosti UART, které platí jenom při spouštění Azure Sphere v MT3620.

Specifikace UART pro MT3620 jsou uvedeny ve stavu podpory MT3620. Uživatelská příručka vývojové desky MT3620 popisuje rozložení a funkce kolíků pro zapojení.

Složka HardwareDefinitions v instalačním adresáři sady Microsoft Azure Sphere SDK obsahuje definice pro běžné vývojové desky, moduly a čipy Azure Sphere. Obsahuje hlavičky a soubory JSON, které definují hlavní rozhraní pro MT3620, MT3620 RDB a další hardware MT3620. Výchozí umístění složky HardwareDefinitions je C:\Program Files (x86)\Microsoft Azure Sphere SDK\Hardware Definitions ve Windows a /opt/azurespheresdk/HardwareDefinitions v Linuxu.

Úložiště Ukázek Azure Sphere na GitHubu obsahuje hlavičky a soubory JSON, které definují hlavní rozhraní SPI pro čip MT3620 a MT3620 RDB a další hardware MT3620.-->

Podporují se následující nastavení UART. Výchozí nastavení je 8N1 (8 datových bitů, 1 stop bit a bez parity):

  • Při konfiguraci vývojové desky MT3620 můžete jako rozhraní UART použít libovolný port ISU . Pokud jako rozhraní UART použijete port ISU, nemůžete použít stejný port jako rozhraní I2C nebo SPI.
  • přenosová rychlost : 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000 a 2000000.
  • Datový bit: 5, 6, 7 a 8.
  • Zastavte bit: 1 a 2.
  • Parita: lichá, sudá a žádná.
  • Režim řízení toku: RTS/CTS, XON/XOFF a bez řízení toku.
  • Vyrovnávací paměť příjmu hardwaru: 32 bajtů.

Při použití UART v aplikaci vysoké úrovně se používá pouze 4 z 5 dostupných špendlíků periferních bloků ISU. Nepoužitý špendlík lze použít jako kolík GPIO stejnou aplikací vysoké úrovně. Seznam nepoužívaných špendlíků ISU, které je možné znovu použít pro GPIO, najdete v části V/V periferní zařízení.