przechowywanie danych string - Arduino zapomina? - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Instalacja i rozwiązywanie problemów (https://forum.arduinopolska.pl/dzial-instalacja-i-rozwi%C4%85zywanie-problem%C3%B3w) +--- Wątek: przechowywanie danych string - Arduino zapomina? (/watek-przechowywanie-danych-string-arduino-zapomina) |
przechowywanie danych string - Arduino zapomina? - MarMar - 19-01-2023 Kod: if (rtc.getSecond()%2==0){ Mam problem i już nie wiem gdzie pukać ... Potrzebuję zachować wartość tekstową zależnie od warunku if. string jest zachowywany ale tylko do końca komendy if. potem jest pusty. Co robię nie tak i jak mogę to poprawić? Potrzebuję ją ustawić w komendzie if a wykorzystać dalej w kodzie. Kawałek kodu jaki mi sprawia problem wraz z wydrukiem na port szeregowy oraz wynik z portu szeregowego: . . . : : : : : jak widać jak wysyłam na szeregowy w ramach komendy if to wartość secondCheck jest poprawna. Ale jak to samo zrobię już po else to wartość jest pusta - stąd puste entery powyżej. Prośba o skierowanie mnie na właściwy trop! RE: przechowywanie danych string - Arduino zapomina? - MadMrQ - 19-01-2023 Jeżeli zmienna jest deklarowana pod if to tylko tam jest jej zasięg. Po wyjściu z pętli przestaje istnieć. Aby została zachowana musi mieć przedrostek static - np. static char secondCheck[] W twoim wypadku najprościej przenieść deklarację zmiennej przed ifa, ale pytanie po co ta zmienna tam w ogóle jest? Kod: char secondCheck[] Nie prościej napisać po prostu: Kod: Serial.println(".") RE: przechowywanie danych string - Arduino zapomina? - MarMar - 20-01-2023 (19-01-2023, 21:38)MadMrQ napisał(a): Jeżeli zmienna jest deklarowana pod if to tylko tam jest jej zasięg. Po wyjściu z pętli przestaje istnieć. No jasne! Głupek ze mnie. Takie proste a ja to przegapiłem ... W złym miejscu deklarowałem zmienną ... Bardzo dziękuję! |