Как считать нечто осмысленное по SerialRead?
- Войдите на сайт для отправки комментариев
Сб, 12/10/2013 - 21:44
Помогите считать нечто осмысленное через Монитор порта Arduino IDE.
Например, я хочу написать в Мониторе порта "15", нажать интер, и arduino выполнит "a=15;". Не могу понять, как сделать это, пробывал, как я прочёл в интернете, аналог Convert, но это не сработало.
Тут ( http://arduino.ru/Reference/Serial/Print ) написано:
Для вещественных (дробных) чисел второй параметр задает количество знаков после запятой. Пример:
- Serial.println(1.23456, 2) выводит "1.23"
- Serial.println(1.23456, 4) выводит "1.2346
Но вот у меня второй параметр определяет разрядность выводимых данных, т.е при параметре 2 мне выводит 1010101011001(пример), при 3 выводит 12010021(пример). Что я делаю не так?
Подскажите, пожалуйста!
Для начала надо было воспользоваться поиском по сайту (в правом верхнем углу), так как данная тема обсуждалась раз таки десять.
http://arduino.ru/forum/programmirovanie/upravlenie-servoprivodom-po-serial#comment-19676
http://arduino.ru/forum/programmirovanie/problema-polucheniya-dannykh-s-seriinogo-porta-arduino#comment-39147
Я знаю для чего принт. Я пытаюсь вывести из ардуино значение, но обрезать до двух знаков после запятой - не получается.
То, что тема уже обсуждалась - знаю. Искал сегодня весь день, перечитал не только этот сайт. У меня проблема в том, что не смотря на то, что я даю переменной тип char - ничего не происходит. Он чар, но там те же самые кикоды сидят. Толку их склеивать) Почему-то часто пишут про задачу типа данных как char* (со звездой) но моя Arduino IDE не знает этого и пишет ошибку компилинга.
Подскажите лучше, почему не вводится кол-во знаков после запятой?
UPD: Перевёл объявление переменной в самое начало программы, до сетапа - заработало!
Осталось понять, почему не обрезает знаки.
Забыл спросить в самом начале:
Сколько раз можно прошивать ATMEGA328P-PU ? Как проявится предел? Полный отказ прошиваться или криво прошьётся?
Покажите код.
Шейте на здоровье, достаточно много....
Вас невозможно понять, выкладывайте код и попробуйте по-человечески обьяснить что хотите сделать.
Вставка программного кода в тему/комментарий
Сейчас закидаете..... Это тахометр, который считывает данные с ИК оптопары.
#1 - перечитывайте до тех пор пока не поймете что нужно делать.
Не уверен что оптимально использовать pulseIn.
Если импульсов не будет, скетч ваш повиснет....
Более красивое решение использовать прерывания.
Однако, всё очень красиво складывается само собой: При ожидании импульса более 1 секунды в консоль вываливается строка ovf, потом ещё одна, если и ещё одного нет и т.д. Когда импульсы снова появляются программа отрабатывает их как надо.