• 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
TABLICA float =>int
#29
Kompilator lubi upraszczać, jest coś nazywane promocją do int i wyniki obliczeń mogą czasami być inne niż się spodziewamy. W millis też to występuje. Dlatego przestaje działać odmierzanie czasu po 50 dniach z millis, trzeba porównanie zapisać tak, by wynik był zawsze dodatni:

Kod:
if((uint32_t)(czasTeraz-czasPoprzedni)>=1000UL) //tan napisany warunek jest odporny na "klątwe 50 dni millis()"

Pomimo, że jest działanie na dwóch uint32_t wynik normalnie jest traktowany jako int, liczba ujemna i już nigdy warunek by się nie spełnił bez tego wymuszenia (uint32_t). Czy tu faktycznie UL jest potrzebny nie wiem, może wystarczy rzutowanie na uint32_t.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
TABLICA float =>int - przez maniek100 - 26-05-2019, 18:10
RE: TABLICA float =>int - przez kaczakat - 26-05-2019, 19:11
RE: TABLICA float =>int - przez maniek100 - 29-05-2019, 10:49
RE: TABLICA float =>int - przez Jarewa0606 - 29-05-2019, 10:59
RE: TABLICA float =>int - przez maniek100 - 29-05-2019, 11:20
RE: TABLICA float =>int - przez kaczakat - 29-05-2019, 18:25
RE: TABLICA float =>int - przez maniek100 - 30-05-2019, 19:39
RE: TABLICA float =>int - przez kaczakat - 30-05-2019, 20:33
RE: TABLICA float =>int - przez maniek100 - 01-06-2019, 22:36
RE: TABLICA float =>int - przez maniek100 - 02-06-2019, 08:54
RE: TABLICA float =>int - przez -adamek - 02-06-2019, 10:55
RE: TABLICA float =>int - przez kaczakat - 02-06-2019, 12:34
RE: TABLICA float =>int - przez maniek100 - 02-06-2019, 14:57
RE: TABLICA float =>int - przez kaczakat - 03-06-2019, 00:01
RE: TABLICA float =>int - przez maniek100 - 04-06-2019, 19:52
RE: TABLICA float =>int - przez kaczakat - 04-06-2019, 21:44
RE: TABLICA float =>int - przez maniek100 - 07-06-2019, 13:39
RE: TABLICA float =>int - przez kaczakat - 07-06-2019, 15:33
RE: TABLICA float =>int - przez maniek100 - 07-06-2019, 17:13
RE: TABLICA float =>int - przez maniek100 - 07-06-2019, 17:16
RE: TABLICA float =>int - przez kaczakat - 07-06-2019, 20:08
RE: TABLICA float =>int - przez maniek100 - 08-06-2019, 16:41
RE: TABLICA float =>int - przez kaczakat - 08-06-2019, 17:28
RE: TABLICA float =>int - przez maniek100 - 08-06-2019, 17:43
RE: TABLICA float =>int - przez kaczakat - 09-06-2019, 00:46
RE: TABLICA float =>int - przez maniek100 - 11-06-2019, 13:57
RE: TABLICA float =>int - przez kaczakat - 11-06-2019, 14:58
RE: TABLICA float =>int - przez Jarewa0606 - 11-06-2019, 18:20
RE: TABLICA float =>int - przez kaczakat - 13-06-2019, 00:19
RE: TABLICA float =>int - przez maniek100 - 14-06-2019, 19:54
RE: TABLICA float =>int - przez es2 - 14-06-2019, 20:00

Skocz do:


Przeglądający: 1 gości