나는 글을 쓸 수도 읽을 수도 없다/dev/ttyS0
# cat /dev/ttyS0
cat: /dev/ttyS0: Input/output error
장치가 존재하고 루트에 권한이 있습니다.
# ls -lAhF /dev/ttyS0
crw------- 1 root root 4, 64 Nov 18 12:09 /dev/ttyS0
# setserial -g /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
# dmesg | egrep -i 'serial|ttys'
[ 1.243271] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 2703.151301] ttyS0: LSR safety check engaged!
# cat /proc/devices | grep tty
4 tty
4 ttyS
5 /dev/tty
커널에서 직렬을 활성화했습니다.
# grep SERIAL config
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_NR_UARTS=1
CONFIG_SERIAL_8250_RUNTIME_UARTS=1
CONFIG_SERIAL_CORE=y
시리얼 작업을 하려면 어떻게 해야 하나요?
답변1
직렬 장치가 제대로 작동하려면 많은 구성(전송 속도, 정지 비트, 시작 비트, 패리티 등)이 필요합니다. 일반적으로 말하자면, cat/echo를 사용하여 액세스하려는 시도는 바로 작동하지 않으며 사용하기에 좋은 방법도 아닙니다.
직렬 장치 사용에 대한 사용 사례는 무엇입니까? 이런 앱을 쓸 수 있나요minicom
(바라보다:https://www.youtube.com/watch?v=35gdWj94-lQ) 또는microcom
장치에 액세스하고 필요한 구성을 제공하시겠습니까? 그렇지 않은 경우 사용해보십시오.stty
echo/cat을 시도하기 전에 장치에서 직렬 구성을 읽고 쓰십시오.
Python 경험이 있다면 시도해 보는 것이 좋습니다.py 직렬 포트(바라보다:https://pyserial.readthedocs.io/en/latest/pyserial_api.html) 도서관. 이를 통해 프로그래밍 방식으로 직렬 구성을 설정한 다음 직렬 포트 개체에 대한 읽기/쓰기를 호출할 수 있습니다.