- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
/dev/ttyAMA0 接收方正在读取以下数据: \xF8\x1-6ren">
在 linux 上工作,使用以下命令以 115200 波特向串口发送数据:
echo -e "\x1B\x11\x00\x00" > /dev/ttyAMA0
接收方正在读取以下数据:
\xF8\x1B\x11\x00\x00\x0D\x0A
我不希望 \xF8
作为起始字节和 \x0D\x0A
作为尾部(回车和换行字节)。我怎么能删除它们?到目前为止我发现的是
stty raw -F /dev/ttyAMA0
这会停用 \x0D
,但我想摆脱 \xF8
和 \x0A
并且没有其他选项对我有用.
最佳答案
您可以使用 echo -en
消除换行符。或者改用 printf
。
你是从树莓派发送的吗?每次打开连接时都会发送 0xF8
(例如,通过调用 echo
),这似乎是一个已知问题。我不知道是否有修复程序,但您可以通过使用串行终端程序保持连接打开以防止进一步的 0xF8
。
这里的第三篇文章中有一个示例,展示了如何在 bash 中使用重定向来保持连接:exec 9>/dev/ttyAMA0
http://www.raspberrypi.org/forums/viewtopic.php?t=34528&p=293067
潜在问题:
有人说这是驱动程序问题(请参阅 this answer),但据我了解,以下内容表明它与硬件相关:
http://elinux.org/RPi_Serial_Connection#Glitch_when_opening_serial_port
When the serial port is opened the voltage on TXD pulses negative for approximately 32 us (regardless of the baud rate). This pulse may be interpreted as a transmission by a device connected to the TXD pin, which could have unintended effects.
这也意味着您收到的垃圾取决于波特率。我不会依赖修复程序而是寻找解决方法。
如果您可以控制接收器,您可以让它等待一个自定义的字节序列,并且只在接收到这个序列后才开始操作。
上面的 elinux.org 链接可以给你一些其他的想法。
关于Linux 去除串口多余字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27307086/
我的服务层有如下方法 public ModuleResponse GetModules(ModuleRequest request) { var response = new ModuleRe
我构建的工具栏与大多数工具栏一样,minHeight 设置为 actionBarSize: 但是,如果我删除这个属性,就完全没有区别了。工具栏保持其 actionBarSize,即使我删除菜单并将
我已经为 SVG 和剪辑路径苦苦挣扎了一段时间。 我正在尝试创建一个三 Angular 形剪辑路径,它将覆盖照片以给顶部一个“三 Angular 形”边缘。 我试图实现与照片完全相同的效果,但三 An
我有一个带有 2 个索引的 PostgreSQL 表。其中一个索引涵盖了 website_id 和 tweet_id 列,是一个唯一的 B 树索引。第二个索引只覆盖 website_id 列,是一个非
我是一名优秀的程序员,十分优秀!