Странности Serial.
- Войдите на сайт для отправки комментариев
Чт, 02/02/2017 - 22:23
Чем больше пытаюсь писать на Ардуино, тем больше понимаю, что ничего не понимаю… Вот код. Хочу, чтобы при получении 50 в Serial порт, то число, которое отсылается из него, увеличивалось. А при получении 10 - соответственно увеличивалось на 10. Но при получении 10 или 50 ничего не происходит, происходит увеличение только при частом отсылании чего либо(даже пустоты).
int lool = 0;
void setup() {
Serial.begin (9600);
}
void loop() {
Serial.println(lool);
if (Serial.read() == 10) {
lool = lool+10;
}
if (Serial.read() == 50) {
lool = lool+50;
}
}
боже мой, когда же это закончится.
как вы посылаете 10 и 50 в сериал ? лучше сразу картинку сделать.
и сразу сюда сходите, чтобы понять как правильно читать из Serial
https://www.arduino.cc/en/Serial/Read
Почитайте хотя бы http://arduino.ru/Reference/Serial
Подсказка:нужно через avaliable
Через available вообще ничего не понял
О, с телефона это невозможно. Извините.
чукча-телефона не читатель...
Возможно, в настройках браузера включите галочку "полная версия сайта" и кнопочки волшебным образом появятся
Возможно, в настройках браузера включите галочку "полная версия сайта" и кнопочки волшебным образом появятся
читер!
Все довольны?
А теперь пишем в сириал 2 и получаем +50, магия!
Все довольны?
если честно, всем пофуй на твои личные проблемы.
------------------------------
http://book.itep.ru/10/ascii.htm
И снова здравствуйте. Ардуино nano, на ATmega328, IDE 1.6.5. Проблема в том, что в монитор порта при работе с числами, больше 9999 начинают ввести себя странно. А так же после каждого числа в консоль выводится "0".
https://pp.vk.me/c837434/v837434113/1de87/j4TwX0mhLyg.jpg (скрин)
Не успевают данные все передаться в порт. Самый простой вариант между строк 7 и 8 влепить delay(100); но вариант не самый верный, но для этого случая сойдет
Это я про больше 9999, про нули хз, тестить нада.
Попробуйте после того как вывели нужный int либо очистить буфер serial, либо считать в локал и забыть про нее, что то подсказывает что это символ конца строки
Я код взял с канала "Заметки Ардуинщика", у него там все ок. Странно.
Ну он просто большие числа не вводил наверное
Нулей то у него тоже нет. А версию IDE не видно
какие числа, если он полученное с символами сравнивает?
Не в 12 посту он уже инты из сириала парсит
Для тс вот почитайте http://arduino.ru/forum/programmirovanie/vyvod-vvodimoi-stroki-na-ekran-...
C delay(100); все равно цифры неверные
Проблему снулями решил - установил последнюю версию ide. а с числами - нет. Но по сути то оно мне и не нужно..
Проблему снулями решил - установил последнюю версию ide. а с числами - нет. Но по сути то оно мне и не нужно..
Ни фига Вы не решили. Она случайно решилась потому, что по умолчанию там переводов строк нет.
Хотя ... решите уже как-нибудь, развели тут детский сад - штаны на лямках.