UART – Komunikační blok pro UART

Symbol blokuPotřebná licence: STANDARD
Qt SVG Document Exported by REXYGEN Studio dataTx lenTx idTx idRxAck WAIT R1 dataRx lenRx idRx idTxAck MORE status UART

Popis funkce
Blok UART umožňuje číst a zapisovat data pomocí univerzálního asynchronního přijímače-vysílače. Parametr port specifikuje název zařízení. Je možné použít dva typy názvů:

  • adresa fyzického zařízení – obvykle /dev/ttyS* pro cílový systém Linux nebo COM* pro Windows. Nahraďte symbol "*" podle zvoleného sériového portu!
  • virtuální adresa – REXYGEN umožňuje vytvoření virtuálního UART, pomocí kterého můžete komunikovat uvnitř REXYGEN s jinými bloky podporujícími UART, jako jsou REXLANG, PYTHON, další blok UART nebo Modbus driver. Na zařízeních s operačním systémem Linux je virtuální port označen prefixem pty: (pseudo terminál) a je možné se k němu připojit z jiné aplikace běžící na zařízení. Na zařízeních s operačním systémem Windows je možné použít prefix vcom, který umožňuje komunikaci uvnitř REXYGEN. Příklady virtuálních portů: pty:/tmp/vslave, vcom:vmaster.

Komunikace pomocí UART má několik obecných vlastností, které jsou nastaveny pomocí parametrů, jako jsou baudrate, parity, databits a stopbits. Každému paketu, který je přijat nebo odeslán, je přiřazeno jedinečné ID. ID následujícího paketu je vždy o jedna vyšší než ID předchozího paketu. Jakmile je dosaženo maximální hodnoty ID, následující přiřazené ID bude 0. Maximální hodnota ID je určena parametrem maxId. Data jsou odesílána s náběžnou hranou vstupu idTx. Pokud se v bufferu stále nachází data k odeslání, je výstup WAIT nastaven na on.

Tento blok nepropaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.

Vstup

dataTx

Reference vektoru s vysílanými daty

Reference

lenTx

Délka vysílaných dat (0 = celý vektor)   0

Long (I32)

idTx

ID vysílaného packetu   0

Long (I32)

idRxAck

ID posledního zpracovaného přijatého packetu   0

Long (I32)

WAIT

Příznak pozastavení vysílání (data jsou vložena do mezibufferu)

Bool

R1

Reset bloku

Bool

dataRx

Reference vektoru s přijatými daty

Reference

lenRx

Délka přijatých dat   0

Long (I32)

idRx

ID přijatého packetu   0

Long (I32)

idTxAck

ID posledního zpracovaného odeslaného packetu   0

Long (I32)

MORE

Příznak dalších dat v přijímacím mezibufferu

Bool

status

Indikátor vnitřního stavu

Long (I32)

0 ....

Žádná chyba

-1 ...

Nepovedlo se otevřít port

1 ....

Přetečení vysílacího buferu

2 ....

Chyba odesílání dat

256 ..

Chyba přijímaní dat

Parametr

port

Název komunikačního zařízení

String

baudrate

Bitová rychlost [bit/s] (0 = nenastavovat)   0  4000000

Long (I32)

parity

Parita

Long (I32)

0 ....

Nenastaveno

1 ....

Bez parity

2 ....

Lichá parita

3 ....

Sudá parita

databits

Počet datových bitů (0 = nenastavovat)   0  3

Long (I32)

stopbits

Počet stop bitů (0 = nenastavovat)   0  2

Long (I32)

maxId

Maximální hodnota ID packetu   2  10000000 4

Long (I32)

maxLen

Maximální délka přijatých dat   1  10000000 64

Long (I32)

nmax

Rezervovaná paměť pro pole   8  10000000 256

Long (I32)

2024 © REX Controls s.r.o., www.rexygen.com