![Linux USART串口](https://linux22.com/image/91163/Linux%20USART%E4%B8%B2%E5%8F%A3.png)
我正在尝试在带有 SAMA5D36 处理器的定制板上设置 USART 串行端口,但无法从连接的设备读取数据。当我运行时,setserial -g /dev/ttyS1
我得到以下输出:
/dev/ttyS1, UART: undefined, Port: 0x0000, IRQ: 22
现在,我看到了类似的问题(链接在这里),但解决方案对我不起作用。我想知道,我可以不这样设置端口吗,因为它是 USART 而不是 UART?或者说这真的没有什么区别吗?
据我所知,设备树在内核中正确设置了端口,并且我已经配置了该端口,并且可以使用stty
.有什么建议么?
答案1
解决了我的问题,所以我想分享一下。事实证明,PCB 原理图中的 TX/RX 被颠倒了,直到我检查了处理器的数据表后我才弄清楚这一点。
因此,USART 与 UART 之间的区别不是问题,setserial -g /dev/ttyS1
返回未定义是无关紧要的干扰。因此,要解决类似的问题,请验证设备树地址(在我的情况下是正确的)并验证硬件级别的引脚排列(尝试交换 TX/RX,即使您认为它们是正确的)。另请参阅我的问题中链接的答案。