微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Arduino DMX + 蓝牙串口读取问题

如何解决Arduino DMX + 蓝牙串口读取问题

嗨,我正在使用 Conceptinetics DMX 库。 连同 CTC-DRA-10-R2 盾牌。

我有 2 个带有 HC-05 蓝牙模块的 Arduino。 到目前为止它运行良好。我可以使用 DMX-Shield 将一个字符串从一个设备发送到 Arduino。到目前为止一切都很好。

首先我在 Arduino A 上发送一个字符串:

if (ble.available()) {
    delay(4);
    ble.println("1");
  }

并在 arduino B 上读取传入的字符串。将其转换为 int 并将其添加到变量中:

 if (ble.available()) {
    delay(5);
    String receiveMsg = ble.readStringUntil('\n');
    int val = receiveMsg .toInt();
    dmx_master.setChannelValue ( 1,val );

作品。所以我可以将 arduino 上的值发送到 DMX 通道。

现在我想将该值发送回 arduino A。 所以我把值放入一个字符串并发送它。 但在那种情况下。 arduino A 只得到了一次

if (ble.available())

读取传入的字符串。

似乎 arduino 在尝试读取传入的字符串时卡住了。 如果我断开 arduino B 的电源。我可以在 arduino A. 上看到一些传入的字符串,然后返回到主循环。

我尝试与其他程序同时发送和阅读,效果很好。好像是串口蓝牙输出和DMX输出有问题。 DMX 为 25000 波特,蓝牙为 38400

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。