Всем привет, короче дело обстоит так: Есть прога на смартфоне ( сделанная самостоятельно в MIT app inv. 2 ) которая каждую секунду через BT шлёт данные о времени в формате: "Hours, Minutes, Seconds, AM-PM". Ардуинка раз в секунду считывает последовательный порт и выводит на 0.91 I2C дисплей ( SSD1306 ) строку, которую считала. Все бы гут, но нет из-за "задвоения" строки ( фото не крепится, приложу пример ) . Можете помочь разобраться почему так. пример: 12.00 00 PM12.00.01 PM1 2.00.02 PM Код: #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> Adafruit_SSD1306 display( 128, 32, &Wire, -1 ); void setup() { display.begin(SSD1306_SWITCHAPVCC, 0x3C) Serial.begin(9600); } void loop() { date = Serial.readString(); display.clearDisplay(); display.setTextSize(1); display.setCursor(0, 10); display.println(date); display.display(); delay(1000); display.clearDisplay(); } Если важно, то в MIT-е сбор данных о времени идёт через call timer1.FormatTime instant call timer1.Now Заранее блвгодарен зв помощь))
С какой частотой данные в serial попадают? Мне кажется, что в date у вас уже пару строк влезает, вот они и выводятся оптом. ReadString ждет данные секунду, потом delay ещё секунда, вот за это время и набегает вам пара строк.