2024-09-10 linux uart串口外面发送过来的是0x0d,但接收的都是0x0a,解决方法:禁用 ICRNLtty.c_iflag &= ~(ICRNL | INLCR | IGNCR)

一、今天遇到一个莫名其妙匪夷所思的问题,串口那边明明发送过来的是0x0d,但是linux 这边接收到的是0x0a。

二、在 Linux 系统中,UART 串口接收到 0x0d(即回车字符 \r)时,通常会转换为 0x0a(即换行字符 \n)。这是因为 Linux 操作系统通常对终端设备进行行处理,特别是在串口通信和终端输入输出中会默认进行这种转换。通过 stty 工具查看或修改串口的终端参数。

、代码里面如下修改

四、我这里的代码修改成这样就没问题了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值