UART CTS/RTS 测试

UART,通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)。

异步通信是一个字符接着一个字符传输,一个字符的信息由起始位、数据位、奇偶校验位和停止位组成。

硬流控:

RTS: (Require To Send,发送请求)为输出信号,用于指示本设备准备好可接收;
CTS: (Clear To Send,发送清除)为输入信号,有效时停止发送
RTS和CTS硬件流控的软件算法如下:(RTS有效表示PC机可以收,CTS有效表示MODEM可以收,这两个信号互相独立,分别指示一个方向的流量情况。)
四线 UART: TX RX RTS CTS
八线 UART: TX RX RTS CTS DTR DSR DCD RI

通过UART 连接PC, PC 用 SSCOM 串口工具


cat /proc/tty/drivers 当前存在 tty 列表

root@swi-mdm9x28:/proc/tty/driver# cat msm_serial_hsl
serinfo:1.0 driver revision:
1: uart:MSM mmio:0x078B3000 irq:153 tx:50127 rx:346 RTS|CTS|DTR|DSR|CD

[可以看到 tty设备 ttyHS0 在  /dev 下 ]
sh-4.3# cd /dev
sh-4.3# ls ttyHS*
ttyHS0  ttyHS1


1.

UART1 测试:
echo "Hello UART1" > /dev/ttyHS0
-    The “Hello UART1” can be received on host UART port
cat /dev/ttyHS0
-    Send bytes from host UART port


2.开始 CTS/RTS 测试

[用stty使能 CTS/RTS ]:
sh-4.3# stty -F /dev/ttyHS0 crtscts
[下拉 RTS , 发送数据到 PC]:
sh-4.3# echo "hello uart1" > /dev/ttyHS0
[PC 能通过 SSCOM 接收到数据]
[如果我们上拉 RTS, PC 不能接收到数据,RTS 测试完毕]

[CTS 默认状态是高, 当发送数据给PC时,它状态变为低].

你可能感兴趣的:(外设驱动)