Модуль AT-команд HM10 BLE — не работает

Модуль ble заработал нормально, следуя онлайн-руководству. Однако, когда я изменил скорость передачи данных: AT+BAUD1, которая изменилась на 19200, однако с тех пор я не мог заставить команды работать.

пробовал: arduino nano, программатор FTDI, software serial, обычный tx, rx

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(8,9); //Прием|TX


void setup(){
  Serial.begin(9600);
  BTSerial.begin(9600); // скорость передачи данных по умолчанию
  while(!Serial); //если это Arduino Micro
  Serial.println("AT commands: ");
}

void loop(){
  //читаем из HM-10 и печатаем в Serial
  if(BTSerial.available())
    Serial.write(BTSerial.read());

  //читаем из серийного номера и печатаем на HM-10
  if(Serial.available())
    BTSerial.write(Serial.read());
}

, 👍2

Обсуждение

Если вы установили значение 19200, почему вы используете 9600?, @gre_gor


1 ответ


3

Вы изменили скорость передачи данных, которую модуль Bluetooth использует для связи с вашим Arduino, но забыли изменить скорость передачи данных, которую Arduino использует для связи с модулем Bluetooth. Они должны совпадать. Просмотрев справочную страницу библиотеки SoftwareSerial, вы можете увидеть, что это установлено в этой строке вашего кода:

BTSerial.begin(9600)

Это устанавливает скорость последовательной связи программного обеспечения на уровне 9600 бод. Вам нужно изменить его на это:

BTSerial.begin(19200)
,