Arduino Polska Forum

Pełna wersja: Do jakiego typu zmiennej zapakować "E0E020DF"?
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Cześć.


Korzystam z biblioteki IRremote.h, której funkcja irrecv.decode(&results) zwraca wynik wciśniętego klawisza (przykład dla klawisza 1 pilota od TV samsunga) w postaci jak poniżej:

Wyrzut na UART:
Serial.println(results.value, HEX);



W monitorze:
E0E020DF


1). Jakiego typu zmiennej w środowisku Arduino mogę użyć do przechowywania takiej wartości? Najchętniej zapakowałbym to do 8 pozycyjnego stringu (tylko nie wiem, czy w środowisku Arduino posłygujemy się stringami).

2). Zakładam, że najlepszym (najprostszym do zaimplementowania) pomysłem do przechowania tej danej w pamięci EEPROM będzie rozbicie jej na pojedyncze bajty (w ilości sztuk 8): E, 0, E, 0, 2, 0, D, F i zapis tych bajtów kolejno w obszarze pamięci EEPROM. Zgadza się?

Będę wdzięczny za Wasze podpowiedzi.
uint32_t lub unsigned long, to to samo z grubsza. String jest, ale pamięci mało i lepiej używać liczb, od razu można zrobić if (E0E020DF==odczytanykod);. Druga sprawa takiego inta można używać też w konstrukcji "case", no i można sprawdzić czy np. nie jest tak, że pierwsze cyfry są zawsze takie same, to wtedy można obciąć zmienną do np. uint16_t czy tam unsigned int.