【发布时间】:2016-12-13 07:29:31
【问题描述】:
我有一个带有 C++ 应用程序的 Raspberry PI B+,它能够与 Arduino 通信。我能读能写,串口连接非常稳定。
现在,我买了一个树莓派 PI3 来集成更多的性能和 wifi。 花了很多时间后,我让 QT 应用程序再次运行,但串行通信无法正常工作。 我连接了 Arduino IDE 的串行监视器并使用 RPI 1 检查它是否工作正常,我看到所有消息都按照我的协议发送,所以我确信我可以分析我从 Raspberry P3 中写出的内容。 不幸的是,我只收到奇怪的字符: 我尝试了不同的波特率,例如 115200 和 9600(预期的波特率!),但结果不同但同样错误。
我想报告我在 Raspberry P3 中所做的事情: 我禁用了控制台的串行端口(正如我在网上理解的那样) 此设置将自动修改选项:
enable_uart=0
这很奇怪,因为在网络上我发现谁建议启用,谁明确写应该禁用它,因为指的是“控制台优于串行”。 然后,我添加了一些线(你可以看到红色形状)以移动 miniuart 中的蓝牙处理,将 cpu 频率固定为 250 并将默认波特率固定为 9600。 然后,我使用以下命令禁用蓝牙: 我真的不确定,但是..在一些帖子中提出了一些建议。 最后,这是我的 QT c++ 应用程序中的设置: 我将端口名称更改为“ttyS0”,(相同的“serial1”)。
所以.. 我想要实现的是设置我的 pi3 串行通信,就像使用 piB+ 一样,连接在相同的引脚 GPIO14 和 GPIO15 上。 蓝牙没关系,我不会用。
我错过了什么或做错了什么?
【问题讨论】:
-
您是否检查过 GPIO 引脚映射的更改没有影响您的代码?引脚的数量和位置发生了变化。
-
对不起,我不能完全关注你:GPIO 的变化是什么意思?我不期待任何变化.. 引脚分配(我在上面报告)是平等的,我的应用程序也是平等的。
-
抱歉误读了您的模型转换。检查此 URL:raspberrypi-spy.co.uk/2012/06/… 那里有一条评论可能会有所帮助...
-
不出所料,也有报道称:Pi 3在Pi 1 Model A+、Pi 1 Model B+和Pi 2 Model B的布局相同。。所以应该不是问题。
-
Pi B Rev1 中除 GPIO0/GPIO1 之外的所有内容在以后的版本中变为 GPIO2/GPIO3。至少根据这个:raspi.tv/wp-content/uploads/2014/07/… --> 我想可能不正确。
标签: c++ qt serialization