• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Do jakiego typu zmiennej zapakować "E0E020DF"?
#1
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.
 
Odpowiedź
#2
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.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości