UART – Komunikační blok pro UART
Symbol blokuPotřebná licence: STANDARD
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) |
|
|
|
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) |
|
|
|
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) |
[Předchozí] [Na začátek] [Výše]
2024 © REX Controls s.r.o., www.rexygen.com