这里写自定义目录标题
STTY简单设置uart,并进行收发
stty 命令本身主要用于配置终端的输入输出行为,而对于串口通信的配置和使用,stty 可以设置串口设备的波特率、字符大小、停止位等。它不能直接控制串口的发送和接收过程,但可以配置串口的工作模式,进而影响数据的发送和接收。
在 Linux 系统中,串口设备通常被表示为 /dev/ttyS0、/dev/ttyUSB0、/dev/ttyACM0 等。你可以通过 stty 配置这些设备的通信参数。
设置串口的基本步骤
查看串口设备的当前设置:
bash
stty -F /dev/ttyS0 -a
这将显示 /dev/ttyS0 串口设备的当前设置。
设置串口的波特率和参数:
假设你要配置串口 /dev/ttyS0,波特率设置为 9600,数据位设置为 8 位,停止位设置为 1 位,且无校验位。你可以使用以下命令:
bash
stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb
这里:
speed 9600 设置波特率为 9600。
cs8 设置字符大小为 8 位。
-cstopb 设置停止位为 1 位(默认值是 2 位)。
-parenb 禁用校验位(默认为无校验)。
启用串口的控制流:
如果需要启用硬件流控,可以使用 crtscts:
bash
stty -F /dev/ttyS0 crtscts
串口的输入输出模式设置:
你可以使用 stty 进一步控制串口的输入输出行为,如禁用回显、设置原始模式等:
bash
stty -F /dev/ttyS0 -echo raw
检查串口是否成功配置:
配置完成后,可以通过 stty -F /dev/ttyS0 -a 命令确认串口设置是否成功。
发送和接收数据:
一旦你配置了串口设备,可以使用其他工具如 cat 或 echo 来发送数据,或者通过 screen 等工具接收数据。
发送数据到串口:
例如,要将文本数据发送到串口 /dev/ttyS0:
bash
echo "Hello, Serial Port" > /dev/ttyS0
从串口接收数据:
你可以使用 cat 来读取串口收到的数据:
bash
cat < /dev/ttyS0
使用 screen 工具进行串口通信:
screen 是一个常用的工具,可以用来和串口设备进行交互。你可以用它来打开串口并进行发送和接收:
bash
screen /dev/ttyS0 9600
总结
stty 配置串口的波特率、字符格式、流控制等设置。虽然它不能直接控制串口的数据发送和接收,但它确保串口通信的参数正确,可以通过其他工具(如 echo、cat 或 screen)来实际进行数据发送和接收