• 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
Arduino Nano + HC05 - problem z funkcją "millis"
#10
W poprzednim poście napisałeś to tak, jakbyś chciał mieć PWM wysterowany wartościami od 50 do 255.
Z ostatniego wynika, że to ma być od 50 do 100%.
Pisząc w taki sposób sprawiasz, że nie wiem o co Ci chodzi.
Masz za duży bałagan w kodzie by nad tym zapanować. Można tak pisać programy mające 20 linii kodu, a potem trzeba się nauczyć jak się pisze programy, od szczegółu do ogółu.
Budujesz cegiełkę, z cegiełek ściany, ze ścian domek, z domków osiedle, z osiedli miasto.
Jak wpadasz z cegiełkami budować państwo, to się zarypiesz.
Teraz znaleźć tu błąd to praca kopciuszka wybierającego mak z popiołu.
Już sam początek loop, po co 4x sięgasz do millis, zmienne będą miały różne wartości, każde odwołanie do funkcji trwa, przecież przez cały loop wystarcza JEDNO aktualne currentTime. Co więcej nie musisz liczyć każdemu migaczowi indywidualnego czasu, ustal jakiś puls programu, heartbeat, w jego rytmie wykonuj czynności. Człowiek nie zauważy, że miganie zaczęło się 100ms później po naciśnięciu przycisku/wysłaniu komendy, ale zauważy rozbieżność 20ms pomiędzy poszczególnymi ledami.
Jeśli masz operacje logiczne na liczbach 8 bitowych to zajmują 1 cykl zegara, 63ns, jak bawisz się ciągle 32 bitowymi to trwa to już us.
Sprawdź w moich poprzednich postach przykłady z funkcja czas(), raz odczytany millis napędza wszystkie flagi i liczniki upływającego czasu, ale te najczęściej używane są 8 bitowe, potem wystarczy sprawdzenie czy w danym obiegu loop jest nowa dziesiątka ms by robić coś tylko co 10ms, albo nowa i podzielna przez 2 by robić coś tylko co 20ms, ale jeśli coś ma być co 10 i co 20ms to zostanie zrobione dokładnie w tym samym obiegu loop.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Arduino Nano + HC05 - problem z funkcją "millis" - przez kaczakat - 18-12-2022, 22:21

Skocz do:


Przeglądający: 1 gości