Aktywne Wpisy

Lolenson1888 +186
JKL789 +4
Jak działa bańka AI w 3 korkach:
Krok 1: Inwestorzy zaczynają przeceniać technologię
To nie musi oznaczać że technologia nie jest przydatna, że nie zwiększa produktywności i że nie przyniesie zysków. Przyniesie. Ale nie aż tyle.
Krok
Krok 1: Inwestorzy zaczynają przeceniać technologię
To nie musi oznaczać że technologia nie jest przydatna, że nie zwiększa produktywności i że nie przyniesie zysków. Przyniesie. Ale nie aż tyle.
Krok






Mam sobie zadeklarowaną tablicę elementów typu FLASHSTRING.
FLASH_STRING_ARRAY(notepad, PSTR("Zero"), PSTR("One"),
PSTR("Two"), PSTR("Three"), PSTR("Four"), PSTR("Five"),
PSTR("Six"), PSTR("Seven"), PSTR("Eight"), PSTR("Nine"));
zadeklarowana jest wewnątrz funkcji void(loop) w jednym z wyrażeń warunkowych. Takich wyrażeń jest kilka, każde zawiera taką tablicę elementów, tylko z różnymi elementami.
W tych samych wyrażeniach w których mam te FLASHSTRINGARRAY mam taką pętlę, która do tej pory (przed zmianą na FLASHSTRING_ARRAY) wysyłała daną linię do globalnego wskaźnika char *notes[30];
for (int i=0;i<28;i++){
notes[i] = notepad[i];
}
Do tej pory operowałem po prostu na obiektach typu char* nazwa[], jednakże jakimś cudem coś przepełnia RAM Arduino - mam do dyspozycji tylko 2KB, dlatego tych char* [] nie mogłem wyrzucić jako zmienne globalne.
Nie zmienia to faktu, że po wrzuceniu tych elementów do instrukcji warunkowych (wykonujących się po naciśnięciu określonego klawisza) problem występuje nadal. Stąd moja chęć zmiany na obiekty typu FLASHSTRINGARRAY.
W tej samej funkcji, lecz w innym wyrażeniu warunkowym mam funkcje odpowiadające za przewijanie tablicy stringów na ekranie:
http://wklej.se/ead2
Jak widać, przy wyborze linii odwołuję się do wskaźnika. Niestety teraz już nie mogę tak zrobić, gdyż korzystam z tego FLASHSTRINGARRAY zamiast zwykłego stringa.
Czy ktoś ma pomysł jak rozwiązać mój problem?
wołam @almafater i @Marmite - macie pojęcie o programowaniu, byłoby miło gdybyście zerknęli na problem.
Odczyt danych z flasha trochę się różni od odczytu danych z SRAM i zasadniczo nie masz do tych danych bezpośrednio dostępu. Jeśli chcesz mieć we flashu napisy deklarujesz je globalnie i wystarczy ci jeden wskaźnik do wszystkiego.