Skocz do zawartości

Esp32 millis. Problem z odliczeniem czasu.


nebraska

Pomocna odpowiedź

Mam taki dziwny może i banalny problem, ale nie potrafię go rozwiązać.

Millis nie odlicza czasu,pętla kręci się bez odliczania czasu.

Płyta Esp32 Wroom 30pin.

unsigned long times;


void setup() {
  serial.begin(9600);
  }

void loop(){
  
  if(millis() - times >= 10000){
    times = millis();
    serial.println("petla co 10s");
    }
  }

 

  • Lubię! 1
Link do komentarza
Share on other sites

O ja pitole na to bym nie wpadł 😩 jedno nie odpowiednie użyte słowo i tyle problemów.

Chyba zacznę pisać Pedro Pedro😁

farmaceuta jestem twoim dłużnikiem😊

  • Lubię! 1
Link do komentarza
Share on other sites

3 godziny temu, nebraska napisał:

O ja pitole na to bym nie wpadł 😩 jedno nie odpowiednie użyte słowo i tyle problemów.

Na start jak nie masz konkretnego stylu notacja węgierska rozwiąże wiele problemów 😉 Poza tym można się zdziwić jak wiele firm wciąż jej używa (pewnie ze względu na ten sam problem xD)

Ew. coś lepszego niż Arduino IDE, ale to raczej nie wchodzi w grę.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

@H1M4W4R1 ja wymyśliłem sobie kiedyś tak że będę kończył nazwę zmiennej pierwszą literą typu, żeby szybko było wiadomo jaki typ mam, ale mi się z lenistwa odechciało 😋 nie chciało mi się dopisywać 🤭 

Link do komentarza
Share on other sites

to jest dobre kiedy używasz typedef np:

typedef struct{
  int x;
  int y;
  char c;
}myStruct_t;

myStruct_t myType;

 

Link do komentarza
Share on other sites

7 godzin temu, farmaceuta napisał:

słowo "times" jest zarezerwowane

Niestety, słowo times nie jest słowem  kluczowym w C/C++. Patrz tu.

Trzeba znaleźć inny powód. 

  • Lubię! 1
Link do komentarza
Share on other sites

40 minut temu, jand napisał:

Trzeba znaleźć inny powód. 

Może API esp32 korzysta z tego słowa...w każdym razie z tym słowem nie działa, z innym działa 

Link do komentarza
Share on other sites

Dnia 22.06.2024 o 13:54, nebraska napisał:
unsigned long times;

Napisałbym raczej:

static unsigned long times;

aby mieć pewność, że zmienna globalna times nie będzie widoczna poza tym jednym plikiem źródłowym. Jeżeli przypadkiem nazwa times jest używana jako zmienna globalna w innych modułach (plikach źródłowych, bibliotekach) wchodzących do Twojego projektu, to o ile opcje kompilacji nie są ustawione, aby wychwycić ten konflikt, projekt może zostać zbudowany poprawnie, ale wynikowy program... działać niepoprawnie.  

  • Lubię! 2
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.