Skocz do zawartości

[C] Timer odliczający czas od spełnionego warunku na STM32 / HAL


antMan

Pomocna odpowiedź

Witam. Niedawno zacząłem przygodę z STM32 i mam problem.

W funkcji przerwania mam pewien warunek, zwykły if. Chciałbym, aby timer zaczął odliczać czas od momentu spełnienia tego warunku. Skonfigurowałem timer odpowidnio do swoich potrzeb i teraz pojawiają się 2 pytania:

1. Jak wywołać rozpoczęcie zliczania czasu w zależności od spełnionego warunku? Po prostu w pętli if(...) { TIM enable } czy odwołanie do przerwania (IRG Handler) a powód dla którego nie moge sam wypróbować różnych opcji to...

2. Jakie funkcje w bibliotekach HAL odpowiadają funkcjom

TIM_GetITStatus oraz TIM_ClearITPendingBit ?

Z góry dziękuję za odpowiedzi i pozdrawiam!

Link do komentarza
Share on other sites

Ja bym to zrobił tak, jak jest zrobione millis() w Arduino: liczysz cały czas, a w swoim if-ie tylko zapamiętujesz wartość w zmiennej. Potem odejmujesz wartości i masz czas. Jak zrobisz to odejmowanie dobrze, to nawet nie straszny ci overflow.

Link do komentarza
Share on other sites

No właśnie srednio to się uda. Chodzi o to że daję jakiś sygnał na ADC mikrokontrolera. i jeśli ten sygnał przekroczy jakąś wartość i będzie ponad tą wartością przez np 10 sekund to niech się zapali dioda na początek. Myślałem jeszcze o zliczaniu stanów wysokich na pinie, które będą na nim właśnie gdy ta wartość będzie przekroczona, ale to też nie jest dla mnie łatwe do ogarnięcia

Link do komentarza
Share on other sites

A jak poszło z FFT i zespolonym przetwornikiem ADC? Nie chciało się zajrzeć do własnego wątku i odpowiadać na pytania a tu proszę, kolejny problem i znów po pomoc? Pierwsze wrażenie można zrobić tylko raz. A co ze "wzmacniaczem szumu"? Nie wygląda byś był(a?) zainteresowany(a?) odpowiedziami na tym Forum. Przekonaj mnie dlaczego mamy być zainteresowani Twoimi pytaniami. Moim zdaniem szkoda na Ciebie czasu.

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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.