리눅스 USART 직렬 포트

리눅스 USART 직렬 포트

SAMA5D36 프로세서가 있는 맞춤형 보드에 USART 직렬 포트를 설정하려고 하는데 연결된 장치에서 데이터를 읽을 수 없습니다. 실행하면 setserial -g /dev/ttyS1다음과 같은 결과가 나타납니다.

/dev/ttyS1, UART: undefined, Port: 0x0000, IRQ: 22

이제 비슷한 질문을 보았습니다(여기 링크) 그러나 해결책이 나에게 효과가 없었습니다. UART가 아닌 USART이기 때문에 포트를 이렇게 설정할 수는 없는지 궁금합니다. 아니면 정말 차이가 없나요?

내가 아는 한 장치 트리는 커널에서 포트를 올바르게 설정하고 포트가 구성되어 있으며 작동합니다 stty.

답변1

내 문제가 해결되었으므로 공유해야겠다고 생각했습니다. PCB 회로도의 TX/RX가 반전된 것으로 나타났습니다. 프로세서의 데이터시트를 확인할 때까지는 이를 알 수 없었습니다.

따라서 USART와 UART의 차이는 문제가 되지 않으며, setserial -g /dev/ttyS1정의되지 않음을 반환하는 것은 관련 없는 간섭입니다. 따라서 유사한 문제를 해결하려면 장치 트리 주소를 확인하고(내 경우에는 정확함) 하드웨어 수준에서 핀아웃을 확인하십시오(올바르다고 생각되더라도 TX/RX를 교체해 보십시오). 내 질문에 링크된 답변도 참조하세요.

관련 정보