UART는 사용하기 전에 반드시 설정이 필요합니다. 통신속도, 데이터비트, 정지 비트, 패리티, 흐름제어등의 설정 항목이 있으며, 설정을 위해서는 pid_ioctl함수의 set명령을 사용합니다.
pid_ioctl($pid, "set ITEM VALUE");
ITEM은 설정 할 항목을, VALUE는 항목에 설정할 값을 의미합니다.
ITEM | VALUE | 설명 | 기본값 |
---|---|---|---|
baud | 예) 9600 | 통신속도[bps] | 19200 |
parity | 0 | 패리티 사용 안 함 | 0 |
1 | EVEN(짝수 패리티) | ||
2 | ODD(홀수 패리티) | ||
3 | MARK(패리티 비트 항상 1) | ||
4 | SPACE(패리티 비트 항상 0) | ||
data | 8 | 데이터 비트 8 | 8 |
7 | 데이터 비트 7(이 때 반드시 패리티를 사용해야 함) | ||
stop | 1 | 정지 비트 1 | 1 |
2 | 정지 비트 2 | ||
flowctrl | 0 | 흐름제어 사용 안 함 | 0 |
1 | RTS/CTS 사용 | ||
2 | Xon/Xoff 사용 | ||
3 | TxDE 사용(RS485) |
<?php
$pid = pid_open("/mmap/uart0"); // 0번 UART 열기
pid_ioctl($pid, "set baud 9600"); // 통신속도 9600 bps
pid_ioctl($pid, "set parity 0"); // 패리티 사용 안 함
pid_ioctl($pid, "set data 8"); // 데이터 비트 8
pid_ioctl($pid, "set stop 1"); // 정지 비트 1
pid_ioctl($pid, "set flowctrl 0"); // 흐름제어 사용 안 함
?>