raspberry-pi - RPI4 和 Wavesharemodule 通过 uart 进行字节通信
问题描述
我已经购买了 wavesharebarcodereader 模块(https://www.waveshare.com/wiki/Barcode_Scanner_Module)并管理它解码代码并将数据发送到 rpi。现在我尝试在命令模式下使用它,我可以通过发送字节数组来触发扫描。
据我了解,这是一个十六进制字节数组,所以我需要在每个字节后加上 0x,所以我写echo "0x7E 0x00 0x08 0x01 0x00 0x02 0x01 0xAB 0xCD" > /dev/serial0
了,并且 tx 引脚的电压下降了一会儿,好像它会发送但设备没有反应或应答。我也尝试不带引号或单引号或不带 0x 后缀,但设备不“理解”它并且没有反应。我确定布线是正确的,我通过将 rx 直接连接到 tx 来测试引脚,这也可以。条形码阅读器也可以在 3.3V 引脚上工作,所以这不是问题。我也尝试用 arduino 发送字节,但读者也没有回应。遗憾的是,阅读器上的所有文档都是这样的:https ://www.waveshare.com/w/upload/d/dd/Barcode_Scanner_Module_Setting_Manual_EN.pdf
我一直被困在这个问题上,因为我对 uart 字节非常陌生,所以任何帮助都将不胜感激。
解决方案
好吧,我想通了:我需要使用命令:printf "%b" '\x7E\x00\x08\x01\x00\x02\x01\xAB\xCD' > /dev/serial0
并且有效
推荐阅读
- .net - 由于访问被拒绝错误而无法启动程序
- maven - 在“Maven->Update project”之后,构建路径中源文件夹的配置已更改
- java - 使用来自 RESTful Web 服务端点调用的响应,以便稍后在其他 Web 服务端点调用中使用
- excel - Excel:OR + VLOOKUP 无法检测到某些值
- java - Kotlin - 我们如何使用 getter 和 setter 访问私有财产?访问方法是否在内部调用?
- c# - 用 override 和 new 关键字覆盖 ToString()
- html - 如何在 html 模板中呈现节点 js 数据?
- python - 尽管缩进正确,但 Python 缩进错误
- swift - 在 ARKit 1.5 中重置会话时删除文本节点
- android - Android 上的硬件加速 H.264/HEVC 视频解码到 OpenGL FBO 或纹理