首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过串口接收回送/回波字节

通过串口接收回送/回波字节
EN

Stack Overflow用户
提问于 2022-05-25 14:28:24
回答 1查看 452关注 0票数 0

在运行Busybox的嵌入式Linux系统上,我试图通过串口接收字节,并回显接收到的所有信息。

系统设置如下: Linux <-USB-> FTDI芯片<- UART ->单片机在UART线上,我有一个逻辑分析器监控FTCI芯片和单片机之间的数据。MCU和Linux都有相同的UART配置。

我编写的脚本运行在Linux系统上,应该将从MCU接收到的所有数据发回。

到目前为止,我有一个简单的Bash脚本,它将接收62字节长的数据突发。超时设置为5秒,作为一种活动信号。

代码语言:javascript
复制
#!/bin/bash

# Enable debugging
set -x

# Set the baudrate of the port 
stty -F /dev/ttyUSB0 1500000

while true
do 
  # Read 62 bytes with a timout of 5 seconds to variable RESP.
  read -N62 -t5 RESP < /dev/ttyUSB0

  # Print out how many bytes we received
  echo ${#RESP}

  # Send back the data, -n for no trailing new line
  echo -n $RESP > /dev/ttyUSB0
done

我在这个脚本中有几个问题:

  1. 并不是所有的字节都是一致的。我已经测试了一段时间了,一次只看到完整的字节数。
  2. 它只在UART总线上输出0xFF值,这是通过逻辑分析器.

观察到的。

为了接收正确的数据并正确地将其发回,我在这里遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-30 08:52:20

通过@锯末提出的建议,我得到了一个工作脚本。最后,我停止使用read命令。我无法让它在原始模式下工作。我无法在我的Busybox系统中使用termios。我用dd设置了一个工作装置

代码语言:javascript
复制
#!/bin/bash

stty -F /dev/ttyUSB0 raw
stty -F /dev/ttyUSB0 1500000

dd if=/dev/ttyUSB0 count=62 of=/dev/ttyUSB0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72379500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档