Serial.parseInt()
Описание
Ищет следующее допустимое целое число во входящем потоке последовательного порта. Функция завершает работу при превышении тайм-аута (см. Serial.setTimeout()).
Serial.parseInt() наследуется от служебного класса Stream.
В частности:
Парсинг останавливается, если в течение настраиваемого тайм-аута не было прочитано ни одного символа или встречен символ, не являющийся цифрой.
Если до истечения тайм-аута (см.
Serial.setTimeout()) не было прочитано ни одной допустимой цифры, возвращается 0.
Синтаксис
Используйте один из следующих вариантов функции для поиска целого числа в буфере последовательного порта:
Serial.parseInt()Serial.parseInt(lookahead)Serial.parseInt(lookahead, ignore)
Параметры
Функция принимает следующие объекты и параметры:
Serial: объект последовательного порта. Список доступных последовательных портов для каждой платы см. на главной странице Serial.lookahead: режим, используемый для просмотра потока в поиске целого числа. Допустимые типы данных:LookaheadMode. Допустимые значенияlookahead:SKIP_ALL: при сканировании потока в поисках целого числа игнорируются все символы, кроме цифр и знака минус. Это режим по умолчанию.SKIP_NONE: ничего не пропускается, поток не трогается, пока первый ожидающий символ не окажется допустимым.SKIP_WHITESPACE: пропускаются только табуляции, пробелы, переводы строк и возвраты каретки.
ignore: используется для пропуска указанного символа при поиске. Применяется, например, для пропуска разделителя тысяч. Допустимый тип данных:char.
Возвращаемое значение
Функция возвращает первое найденное целое число. Тип данных: long.
Пример кода
Следующий код извлекает первое допустимое целое число, полученное по последовательному порту:
void setup() {
Serial.begin(9600);
while (!Serial)
;
Serial.println("Enter a integer number:"); // попробуйте смешанной фразой, например "The size of the box is 5 mm"
}
void loop() {
if (Serial.available()) {
int number = Serial.parseInt();
if (number != 0) {
Serial.print("You entered: ");
Serial.println(number);
}
}
}