Перед использованием UART необходимо установить такие параметры, как скорость в бодах (baud rate), бит данных (data bit), стоповый бит (stop bit), контроль четности (parity) и управление током (flowcontrol) путем использования команды "set" для функции pid_ioctl.
pid_ioctl($pid, "set ITEM VALUE");
ITEM означает установку позиций, а VALUE означает возможное значение элемента.
ITEM/элемент | VALUE/значение | Описание | Значение по умолчанию |
---|---|---|---|
baud | ex) 9600 | baud rate[bps] | 19200 |
parity | 0 | no parity | 0 |
1 | EVEN parity | ||
2 | ODD parity | ||
3 | MARK parity (всегда 1) | ||
4 | SPACE parity (всегда 0) | ||
data | 8 | 8 data bit | 8 |
7 | 7 data bit(it can be only used with parity bit) | ||
stop | 1 | 1 stop bit | 1 |
2 | 2 stop bit | ||
flowctrl | 0 | no flow control | 0 |
1 | RTS/CTS hardware flow control | ||
2 | Xon/Xoff software flow control | ||
3 | TxDE flow control for RS485 |
$pid = pid_open("/mmap/uart0"); // open UART 0
pid_ioctl($pid, "set baud 9600"); // baud rate: 9600 bps
pid_ioctl($pid, "set parity 0"); // no parity
pid_ioctl($pid, "set data 8"); // data bit length: 8
pid_ioctl($pid, "set stop 1"); // stop bit length: 1
pid_ioctl($pid, "set flowctrl 0"); // no flow control