Arduino синтаксический анализ строки с использованием sscanf
Здравствуйте, я новичок в программировании на Arduino и C. Я хотел проанализировать строку с помощью функции sscanf
Это моя программа
String hith;
int field1,field2;
float field3;
int F1=0,F2=0;
float F3=0;
int h1,h3;
float h2;
void setup() {
Serial.begin(9600);
}
void loop() {
field1=5;
field2=6;
field3=56.67;
F1=field1;
F2=field2;
F3=field3;
hith =hith+F1+","+F3+","+F2;
Serial.println(hith);
sscanf(hith.c_str(),"%d,%f,%d",&h1,&h2,&h3);
Serial.println(h1);
Serial.println(h2);
Serial.println(h3);
hith="";
delay(1000);
}
Я могу анализировать только целочисленные значения, но не плавающие точки.
@VISHAL M, 👍2
Обсуждение1 ответ
▲ 1
На 8-разрядных ардуино поддержка %f из printf
и scanf
(и связанных с ними функций) была удалена для экономии места.
Вместо этого вам следует проанализировать строку на фрагменты с помощью strtok()
и использовать atof()
для преобразования соответствующих фрагментов в значения с плавающей запятой.
,
@Majenko
Смотрите также:
- Объяснить функцию pulseIn с помощью arduino и ультразвукового датчика
- Проблемы с Serial.read()
- Node.js не может распознавать символы из последовательного порта
- GPS автономный робот
- Создание формулы
- Arduino зуммер кодовая последовательность не срабатывает
- Кодировщик Морзе работает не так, как ожидалось на Arduino UNO
- Проблема с измерением времени в цикле for
"%f` не реализован в мире Arduino., @tim