当前位置: 首页 > news >正文

RK3576开发板串口配置及使用

RK3576 串口配置及使用

  • 重要提示:
    • 串口配置查询
    • 串口配置
      • 设置为 9600 波特率, 8N1:
      • 设置为 115200 波特率, 8E1 (偶校验):
      • 设置为 115200 波特率, 8N1, 并启用硬件流控 (RTS/CTS):
      • 设置为原始模式 (Raw Mode),常用于程序通信:
    • 通过命令行发送数据
    • 通过命令行发送数据

注意博主开发板为RK3567J,系统为Ubuntu 22.04.5 LTS

重要提示:

在Ubuntu系统中,串口设备通常以 /dev/ttyS* 或 /dev/ttyO* 形式存在。对于AM335x系列处理器(TL3576基于AM335x),串口设备名很可能是 /dev/ttyO1(对应UART1)。您需要通过 dmesg | grep tty 或 ls /dev/tty* 命令来确认具体的设备文件名。

本人使用的开发板为串口1设备名为/dev/ttyS1,下面我将以该设备为列进行测试。

串口配置查询

在 Linux 命令行中,有几种方法可以查看串口 /dev/ttyS1的当前配置(波特率、数据位、奇偶校验等)。
stty 是专门用于查询和设置终端(包括串口)行设置的工具。-F 或 --file=:指定要查询的设备文件。

stty -F /dev/ttyS1

在终端输入上述命令回车后会显示
在这里插入图片描述
其中比较重要的信息有:
波特率 (Baud Rate):
speed 115200 baud:表示当前波特率是 115200。
其他常见值:9600, 19200, 38400, 57600, 230400 等。
数据位 (Data Bits):
cs8:表示 8 位数据位。cs7 表示 7 位,cs6 表示 6 位。
奇偶校验 (Parity):
-parenb:负号 - 表示 禁用 奇偶校验 (None)。
parenb(无负号)表示启用奇偶校验。
-parodd:如果启用,-parodd 表示偶校验 (Even),parodd 表示奇校验 (Odd)。
停止位 (Stop Bits):
-cstopb:负号 - 表示 1 位 停止位。
cstopb(无负号)表示 2 位停止位。
硬件流控 (Hardware Flow Control):
-crtscts:负号 - 表示 禁用 RTS/CTS 硬件流控。
crtscts 表示启用。
输入模式:
icanon:表示启用规范输入(行缓冲)。
-icanon:表示禁用规范输入(原始模式,逐字节读取)。

串口配置

设置为 9600 波特率, 8N1:

stty -F /dev/ttyS1 9600 cs8 -cstopb -parenb

设置为 115200 波特率, 8E1 (偶校验):

stty -F /dev/ttyS1 115200 cs8 -cstopb parenb parodd

parenb:启用奇偶校验。
parodd:奇校验。如果要偶校验,用 -parodd。

设置为 115200 波特率, 8N1, 并启用硬件流控 (RTS/CTS):

stty -F /dev/ttyS1 115200 cs8 -cstopb -parenb crtscts

设置为原始模式 (Raw Mode),常用于程序通信:

stty -F /dev/ttyS1 115200 raw -echo -echoe -echok

raw:这是一个快捷方式,它会自动设置 cs8 -cstopb -parenb -icanon -echo -echoe … 等,非常适合程序直接读写串口。
-echo -echoe -echok:确保禁用回显(虽然 raw 通常已包含)。

通过命令行发送数据

要向串口发送数据,可以使用 echo 命令。

echo -n "Hello, UART!" | sudo tee /dev/ttyS1

| sudo tee /dev/ttyS1:将 echo 的输出通过管道传递给 tee 命令,tee 再以 sudo 权限写入串口设备。
-e: 启用转义字符解析(如 \r, \n)。
-n:不输出结尾的换行符。

通过命令行发送数据

sudo cat /dev/ttyS1

注意:发送端要以字符格式发送,否则可能解析不了

http://www.dtcms.com/a/358005.html

相关文章:

  • STM32 之GP2Y1014AU0F的应用--基于RTOS的环境
  • 在 Git Bash 中查看 Git 仓库远程地址
  • flink中 Lookup Join和Interval Join和Regular Join使用场景与对比
  • 【云原生】Docker 搭建Kafka服务两种方式实战操作详解
  • 阿里云如何申请免费的ssl证书并部署
  • 嵌入式Linux驱动开发:ICM20608六轴传感器SPI驱动
  • 期刊 | 《电讯技术》期刊2025年投稿指南总结
  • 硬件SPI读写W25Q64
  • 北京交通大学:LLM的agent推理框架综述
  • 算法复习笔记: 双指针_二分查找篇
  • 详解推测性采样加速推理的算法逻辑
  • Kafka 消费模型
  • 本地运行的检索PDF文件中出现关键字的python程序
  • 2025年如何批量下载雪球帖子和文章导出pdf?
  • 2025 批量下载雪球和东方财富帖子和文章导出excel和pdf
  • kind集群应用
  • 《云原生架构从崩溃失控到稳定自愈的实践方案》
  • 「鸿蒙系统的编程基础」——探索鸿蒙开发
  • 第12章:推荐算法与实践
  • 科技感网页计时器.html
  • 设计模式:抽象工厂模式(Abstract Factory Pattern)
  • 在word以及latex中引用zotero中的参考文献
  • 单例模式的mock类注入单元测试与友元类解决方案
  • 云存储(参考自腾讯云计算工程师认证)
  • Twitter舆情裂变链:指纹云手机跨账号协同机制提升互动率200%
  • 使用电脑操作Android11手机,连接步骤
  • 【序列晋升】21 Spring Cloud Gateway 云原生网关演进之路
  • DVWA靶场通关笔记-CSRF(Impossible级别)
  • 【90页PPT】新能源汽车数字化转型SAP解决方案(附下载方式)
  • 汽车加气站操作工证考试的复习重点是什么?