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 (将#修改为@)