пожалуйста, помогите с моим ардуино
Моя проблема заключается в том, что я запускаю такой код:
char directioN;
void setup() {
Serial.begin(9600)
}
void loop()
{
if (Serial.available())
{
directioN = Serial.read();
switch (directioN)
{
case 'F':
break;
case 'B':
break;
case 'R':
break;
case 'L':
break;
default :
break;
}
Serial.print("direction is:");
Serial.println(directioN);
}
}
Мой последовательный монитор добавил еще один вход, но второй пуст; здесь это произошло как с char, так и с int.
Но когда я попробовал тот же код в Tinkercad, все сработало нормально.
Так мне действительно нужен новый ATMEGA328 или это можно сделать с помощью программного обеспечения или чего-то еще?
**Я использую Arduino Uno
@nour albrmky, 👍0
Обсуждение1 ответ
Лучший ответ:
Так почему бы просто не проигнорировать это?
if(directionN >= 32){ //проверяем, является ли char читаемым символом ascii
Serial.print("direction is:");
Serial.println(directioN);
}
Как я игнорирую. это влияет на то, как выполняется мой код, потому что определенный ввод выполняет определенную функцию, поэтому следующий нулевой или нулевой ввод, о котором я здесь говорю, приводит к завершению требуемой функции, @nour albrmky
@nouralbrmky Как и в опубликованном мной коде, нулевой ввод, вероятно, представляет собой новую строку., @Matej
Все сработало нормально, спасибо. У вас есть идеи, что может вызвать такую вещь, и я буду более благодарен, @nour albrmky
@nouralbrmky Вероятно, это вызвано символом новой строки, который отправляется после текста. Десятичное значение новой строки в таблице ascii меньше 32, поэтому этот код игнорирует его., @Matej
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
- Не удается снова загрузиться после смены платы
- Генерация стабильной частоты
- В чем разница между ATMEGA32 и ATMEGA328?
- Arduino UNO для получения подписи чипа ATmega328P-PU
- Последовательная связь ESP8266 с ATMega328P
- Каково время нарастания выходного вывода atmega328, изменяющего свое состояние?
- Нужна помощь в программировании ардуино на ассемблере
что вы установили в Serial Monitor в качестве окончания строки для отправки?, @Juraj