其他的uart都是好的,就是uart3收发不管用,uart3对应/dev/ttyS3,用echo 1111 > /dev/ttyS3,然后在cat /proc/tty/drivers/serial里面看有发送出去数据,但是用示波器看不到发送波形,也接收不到数据,这是为什么呢?
我用的0x228和0x22c这个地址当做uart3_rxd和uart3_txd
Steven Liu1:
自己做的板子还是开发板?
在linux的user space中,使用devmem2 + 物理地址的查询方式,直接查一下你这两个管教对应的pinmux寄存器的数值是多少?排查pinmux的问题。
pinmux没问题的话,把这两个管教做个GPIO口,拉高拉低测一下波形,排查一下是不是可能有虚焊的问题
nan wang2:
回复 Steven Liu1:
我用的创龙的开发板,两块开发板都是uart3收发不管用
nan wang2:
回复 Steven Liu1:
我把uart3的rxd和txd设置成gpio管脚,用devmem2查看寄存器值都是对的,输出数据寄存器也有值,但是测量管脚就没有信号,uart3的rts和cts作为gpio也是不管用的,我换了一块同样的开发板也是同样的问题。
我用的内核版本是3.14.43,设备树设置的
Jian Zhou:
回复 nan wang2:
检查过pinmux设置么?
nan wang2:
回复 Jian Zhou:
pimmux设置都是正确的,另外,如果通过dts的pinmux设置之后,是不是就不用再写驱动程序来控制GPIO了呢?
Jian Zhou:
回复 nan wang2:
是的,在dts里设置pinmux。