Serial печатается дважды?
У меня есть проблема , когда отправить 1 или 0 по модулю Bluetooth последовательный монитор печатается два раза (ПОЛУЧЕНО SMS) . в чем дело ?
Это мой код :
char BluetoothData = 0 ;
void setup() {
// initialize serial communication:
Serial.begin(9600);
for (int pin = 1; pin <= 13; pin++)
{
pinMode(pin, OUTPUT); // sets the digitals pin as outputs
digitalWrite(pin, LOW); // sets the digitals pin off defult intial states
}
Serial.println("ALL LEDs NOW OFF \n ");
Serial.println("Please, Enter : ( 1 to Turn on All LEDs ) or ( 0 to Turn off LEDs ) \n");
}
void loop() {
// read the sensor:
if (Serial.available() > 0) {
BluetoothData = Serial.read();
Serial.print("*** RECEIVED SMS *** : ==>> ");
Serial.println(BluetoothData);
if (BluetoothData == '1'){
for (int Pin = 1; Pin <= 13; Pin++) {
digitalWrite(Pin, HIGH);
}
Serial.println("ALL LEDs NOW ON");
}
// turn all the LEDs off:
else if (BluetoothData == '0') {
for (int Pin = 1; Pin <= 13; Pin++) {
digitalWrite(Pin, LOW);
}
Serial.println("ALL LEDs NOW OFF");
}
}
delay(100);
}
Это фото для последовательного монитора
2 ответа
Лучший ответ:
Вероятно, в первый раз, потому что вы получили символ " 1 " или "0".
Второй символ, вероятно, является "\0 " или "\d", символом конца строки
или конца строки
.
Вы можете легко проверить это, напечатав значение каждого полученного символа, например
Serial.println((int)(BluetoothData));
Вы, вероятно, видите ценность для '0' (48), '1' (49), конец строки "0" конца строки "13" или, может быть, " 10 " (новая строка).
большое спасибо , парень, верное решение :), @Khalid Abu-Khadija
пожалуйста., @Michel Keijzers
В IDE Arduino вы должны выбрать в меню "Без конца строки" вместо "Новая строка". В противном случае вы отправляете дополнительное "\n".
- Как связаться с ESP8266 ESP01, отправив данные через программный сериал на Arduino Uno?
- GSM-модуль IOT-GA6 Arduino + ошибка CME 58
- Плохо отформатированные символы с использованием Bluetooth-модуля JDY-30
- Отправка целого числа> 1 байта с Android на Arduino через последовательный порт
- Чтение последовательных данных с Arduino с помощью кода C
- Arduino wrap или подкласс print() для работы с несколькими Serial
- Arduino перестает отправлять/принимать данные через Serialport через случайное время
- ПК не может получить доступ к порту HC-06 Bluetooth COM
Пожалуйста, не публикуйте фотографии выходных данных, а выделите текст, а затем скопируйте/вставьте текст в вопрос в виде кода с отступом, @user3629249
для удобства чтения и понимания: 1) пожалуйста, последовательно отступайте от кода. Отступ после каждой открывающей скобки" {". Неиндентировать перед каждой закрывающей скобкой '}'. Предложите, чтобы каждый уровень отступа составлял 4 пробела., @user3629249
опубликованный код не содержит функции " main ()", а не необходимых операторов "#include". Так как же нам воспроизвести проблему?, @user3629249
Я не могу понять все функции и условия сайта. Я слаб в этом, есть ли видео, которое объясняет этот вопрос?, @Khalid Abu-Khadija