Ввод в сериал порт
- Войдите на сайт для отправки комментариев
Пнд, 28/03/2016 - 10:21
Необходимо ввести в сериал 7 значений и занести их в разные переменные. Как это сделать? Заранее всех благодарю!
Необходимо ввести в сериал 7 значений и занести их в разные переменные. Как это сделать? Заранее всех благодарю!
Что означает "ввести в сериал 7 значений"? Ввести ИЗ сериала?
А одно значение можете ввести?
Если можете, то просто сделайте это семь раз.
Я хочу ввести в сериал одной строкой 7 разных значений, которые в программе необходимо ввести в отдельные переменные.
Ну, Вас же спросили, одно значение Вы можете ввести или нет?
Да у меня бред вообще получается! Мне нужно заполнить 7 переменных для даты(Часы реального времени). Кое что накидал. Результат: бесконечно крутит одно и то же. Мне просто нужно переходить с ввода года например к вводу месяца.
Но одно ввести могу!
Если одно можете, то и сделайте это семь раз.
А если
Кое что накидал.
так показывайте
Но одно ввести могу!
не могУ, а мОгу!
*сегодня выходной в албанской резервации.
if(Prog == true) { //----------------------------------- Serial.println("Введите Год"); if (Serial.available() > 0){ Year = Serial.parseInt(); delay(250); Serial.println("Введите Месяц"); if (Serial.available() > 0){ Month = Serial.parseInt(); delay(250); Serial.println("Введите День"); if (Serial.available() > 0){ Day = Serial.parseInt(); delay(250); Serial.println("Введите День недели"); if (Serial.available() > 0){ DayOfTheWeek = Serial.parseInt(); delay(250); Serial.println("Введите Час"); if (Serial.available() > 0){ Hour = Serial.parseInt(); delay(250); Serial.println("Введите Минуту"); if (Serial.available() > 0){ Minute = Serial.parseInt(); delay(250); Serial.println("Введите Секунду"); if (Serial.available() > 0){ Second = Serial.parseInt(); delay(250); Serial.println(Year); Serial.println(Month); Serial.println(Day); Serial.println(DayOfTheWeek); Serial.println(Hour); Serial.println(Minute); Serial.println(Second); }}}}}}} }А полностью выложить? Секртено?
И чего? как это работает?
2 ардуинки общаются по NRF24l01+. Одна в качестве контроллера а другая как сервер. если с сервера пульнуть цифру 2, то нужно включить режим программирования часов, и ввести новую дату.
То что я скинул по сути вообще не работает. Постоянно выводит "Введите год" и все!
Значит либо в сериале ничерта нет, либо там нет нормального числа в текстовом виде. Вы же не показываете что Вы там шлёте.
Так а чего Вы хотите?
Если туда что-то пришло, Вы это обнаруживаете встроке 54, что-то вычитываете. а в строке 86 очищаете буфер. Поэтом, когда дело доходит до строки 93 в сериале уже нихрена нету - всё вычищено.
Я просто не могу перейти от ввода года до ввода месяца. Он постоянно предлагает мне ввести год.
И правильно делает. Вы же не проверяете введён уже год или нет, а просто тупо запрашиваете год, если
Prog ==trueПосле вывода подсказки (ст.92) скетч благополучно проскакивает условие
if(Serial.available() > 0), переходит к подсказке и т.д, и т.п. То есть скетч не ожидает ввода данных.И да, после строки 126 стоит поставить
Prog ==false;А как сделать ожидание ввода?
А как сделать ожидание ввода?
Serial.setTimeout(100500);
А как сделать ожидание ввода?
Serial.setTimeout(100500);
Ахахах, Евгений, 5 баллов :) Так их, ату!
Спасибо всем! Теперь получилось!
Не за что.