Всем привет! Столкнулся с вот таким парадоксом: Имею Bluetooth модуль HC-05 который цепляется и отправляет команды на Bluetooth relay. Так вот, если отправлять команду через Serial.read() , то все работает как надо. А вот отправляю программно char* str="A0............B0..............c0........D............e0"; BTSerial.write(str); , реле команду принимает, но не реагирует. Помогите пожалуйста.
Вот так если через порт ввести строку A0............B0..............c0........D............e0 - все работает. Код (C++): #include <SoftwareSerial.h> SoftwareSerial BTSerial(52, 53); void setup(){ Serial.begin(38400); BTSerial.begin(38400); // HC-05 default speed in AT command more } void loop(){ if (BTSerial.available()) Serial.write(BTSerial.read()); if (Serial.available()) BTSerial.write(Serial.read()); } А вот так нет: Код (C++): #include <SoftwareSerial.h> SoftwareSerial BTSerial(52, 53); String str; void setup(){ Serial.begin(38400); BTSerial.begin(38400); str="A0............B0..............c0........D............e0"; } void loop(){ BTSerial.print(str); delay(2000); }
В смысле через монитор порта? Символ окончания строки выбран? Если да, может его не хватает во втором примере?