【问题标题】:HM-10 returns Euro symbolHM-10 回归欧元符号
【发布时间】:2016-11-12 16:07:17
【问题描述】:

我正在使用 HM-10 复制 CC4A-1 模块。经过一番挣扎后,我将它与 Arduino Uno R3 连接起来。我使用 Arduino 串行监视器执行了一些 AT 命令,它在执行 AT+RENEW 命令后突然停止工作。我也试过执行 AT+BAUD command but it returned error before executing AT+RENEW.

This is the output of Arduino Serial Monitor while sending data from HMBLE Terminal Android Application

#include 

SoftwareSerial BTSerial(2, 3); //接收|发送


无效设置(){
  序列号.开始(9600);
  BTSerial.begin(9600); // 默认波特率
  而(!串行); //如果是 Arduino Micro
  Serial.println("AT 指令:");
}

无效循环(){
  //从 HM-10 读取并在 Serial 中打印
  如果(BTSerial.available())
    Serial.write(BTSerial.read());

  //从串口读取并打印到 HM-10
  如果(串行。可用())
    BTSerial.write(Serial.read());
}

This is what is sent from Android Application

【问题讨论】:

    标签: bluetooth arduino-uno hm-10


    【解决方案1】:

    看看串行输出,我猜你发送“AT+RENEW”命令时波特率并没有改变。我怀疑这是通过查看“€”的二进制等价物,即“10000000”。 UART 数据发送低电平有效,因此它看起来正在检测一个字节的开头,但是,其余高低信号的时序是错误的。我会尝试以您在 AT+RENEW 命令之前设置的任何波特率连接模块。

    HM-10 的官方行为是模块应该返回到 9600 的波特率。但是,我注意到偶尔需要通过关闭电源然后再打开来重置它。或者,发送“AT+RESET”。

    话虽如此,如果它是 HM-10 克隆,谁知道固件中真正发生了什么。

    【讨论】:

    • 首先感谢您的回复。我尝试使用数据表中的指定引脚重置模块,但除此之外没有任何反应从 android 应用程序中,它在串行监视器中显示了四个“EURO”标志还有一件事我无法执行 AT 命令不知道为什么每当我从 Arduino 串行监视器发送 AT 时什么都没有发生:-(
    • 听起来您可能不得不将其归为失败的克隆。您可能会检查的一件事是 Arduino 串行监视器设置为无换行符。 HM-10 需要排除 CR 或 LF 字符,而 CC4A-1 需要它们。
    • 我尝试了 Arduino 串行监视器的所有选项,但无论如何都没有运气来诊断 HM-10 的 RX 和 TX 是否正常或消失?看来我已经破坏了 RX 或 TX,因为它没有响应 AT 命令?
    • 可能有很多方法可以诊断它是否已经死亡。我通常使用逻辑嗅探器。我使用的是 Open-Bench Logic Sniffer,大约 50 美元。 dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer
    【解决方案2】:

    自从我终于找到解决方案以来,在谷歌上搜索了很多之后...我正在研究 ESP8266 模块,我也尝试更改它的波特率,但它停止工作我用谷歌搜索了我最后执行的命令,发现错误的命令损坏了模块固件我通过重新加载固件搜索并恢复了 ESP8266

    以上对我来说是个提示试试下面的链接

    https://forum.arduino.cc/index.php?topic=393655.0

    【讨论】:

      猜你喜欢
      • 2010-11-26
      • 2014-11-11
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多