Serial.parseInt() - как прочесть БОЛЬШОЕ число?
- Войдите на сайт для отправки комментариев
Пт, 20/02/2015 - 17:24
Добрый!
Пытаюсь извлечь из порта ЧИСЛО:
void setup() { Serial.begin(9600); } void loop() { if (Serial.available() > 0) { int inc = Serial.parseInt(); Serial.println(inc); } }
Если шлю в порт 12345 - читает 12345, показывает 12345, что верно
Если шлю 123456 - читает -7616 (!!!)
Ломается все на числе 32768, т.е, все, что менее - читается верно. Все, что более - читается криво.
Кто сталкивался с такой проблемой?
как прочесть 13 разрядное число?
http://arduino.ru/Reference/Int http://arduino.ru/Reference/UnsignedInt
http://arduino.ru/Reference/Long http://arduino.ru/Reference/UnsignedLong
ты почитай про переменную int, какие числа могут в ней хранится
подсказка long
+ опоздал))
АААА!!!!!
точно!!!!
Спасибо! Пол-дня копошился!
А что толку? Это не решает проблемы, ошибка переполнения так и будет появляться. Тут нужно считывать число побайтно и контролировать переполнение буфера. Вот только я не знаю функцию позволяющую считывать каждый байт отдельно, если кто-нибудь в курсе, то поделитесь, plz.
а вы разделите число на 2 части : 1-e (число)/1000 , 2-е (число)%1000. А потом пошлите последовательно в serial
А если мы вообще не знаем что собирается вводить пользователь? Например он ввлел последовательность букв и цифр. Что тогда делать, что на что делить, а? И ваше решение не верное, тут нужно считывать по-байтно, только я не знаю какой функцией это сделать
А если мы вообще не знаем что собирается вводить пользователь? Например он ввлел последовательность букв и цифр. Что тогда делать, что на что делить, а? И ваше решение не верное, тут нужно считывать по-байтно, только я не знаю какой функцией это сделать
Вот с этого и надо и начинать. Если вы не хотите думать, то за вас думать никто не будет.
Глубокий ответ, а главное не в тему
Глубокий ответ, а главное не в тему
Ну да. Тема: вывод большого числа ИЗ АРДУИНЫ, а вы прочитали как пользователь может ввести хрень вместо числа В АРДУИНУ. Так что перед тем как спрашивать разберитесь в темах.
Да я вообще о том как считывать по-байтно
Да я вообще о том как считывать по-байтно
Да я вообще о том как считывать по-байтно
Строчка: "Функция возвращает количество байт, помещенных в буфер, либо 0 - если таковых нет." вызывает подозрения.
Спасибо, попробую.
Да я вообще о том как считывать по-байтно
Господи, ну, а Serial.read() что читает? Не байт?
И, кстати, нафига было оживлять тему двухлетней давности?
1) уже разобрался
2) в этом гугл виноват
У меня еще вопрос, а будет ли код компилироваться если под Arduino писать на С++, можно ли к программам подключать библиотеки С++?
1) уже разобрался
2) в этом гугл виноват
У меня еще вопрос, а будет ли код компилироваться если под Arduino писать на С++, можно ли к программам подключать библиотеки С++?
А это что?http://arduino.ru/forum/programmirovanie/klassy-arduino-po-qwone-dlya-chainikov
У меня еще вопрос, а будет ли код компилироваться если под Arduino писать на С++, можно ли к программам подключать библиотеки С++?
У меня тоже вопрос, даже два:
1. А сейчас Вы на чём пишете? Скажите пожалуйста, чтобы мы знали.
2. Кто запретил взять и попробовать?
1. на С++ умею писать
2. у меня пока еще нет своего Arduino
Так вот большинство из тех, кто имеет дело с Ардуино, на С++ и пишут. Так что если умеете, то Вам и флаг в руки.
Есть, конечно, люди, пишушщие на ассемблере. Так же есть странноватая секта паскалистов. Ну, а настоящие программисты, за неимением на этой платформе фортрана, пишут на брейнфаке.
Другие языки и система такая редкость и экзотика, что мы их рассматривать не будем.
Так что, Выбор у Вас есть :)
Так вот большинство из тех, кто имеет дело с Ардуино, на С++ и пишут. Так что если умеете, то Вам и флаг в руки.
Есть, конечно, люди, пишушщие на ассемблере. Так же есть странноватая секта паскалистов. Ну, а настоящие программисты, за неимением на этой платформе фортрана, пишут на брейнфаке.
Другие языки и система такая редкость и экзотика, что мы их рассматривать не будем.
Так что, Выбор у Вас есть :)
Есть еще пишут на FBD. Ну это для новичков, которые вообще писАть не умеют... flprog.ru Программа бесплатная. Скетч составляется в виде функциональных блоков в графическом виде. Есть так же возможность делать собственные блоки на Си, для тех кто уже начинает осваивать Си.