Arduino Polska Forum
Do jakiego typu zmiennej zapakować "E0E020DF"? - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica)
+--- Wątek: Do jakiego typu zmiennej zapakować "E0E020DF"? (/watek-do-jakiego-typu-zmiennej-zapakowa%C4%87-e0e020df)



Do jakiego typu zmiennej zapakować "E0E020DF"? - mes mariusz - 27-07-2018

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.


RE: Do jakiego typu zmiennej zapakować "E0E020DF"? - kaczakat - 27-07-2018

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.