Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 18 kwi 2024, o 10:17


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 4 mar 2018, o 17:44 
Offline
Użytkownik

Dołączył(a): 27 sty 2015
Posty: 61
Pomógł: 0

Witam

Mam przebieg prostokątny (pochodzący z detektora przejścia przez 0) i potrzebuje zmierzyć czas trwania t oraz czas trwania dwunastu „stanów wysokich” (jak na rysunku). Dotychczas za zliczanie impulsów opowiadał układ PD71054 (zliczający z częstotliwością 3MHz). Pomysł mam taki, że po wykryciu stanu wysokiego następuje obsługa przerwania, w przerwaniu uruchamiany jest licznik (taktowanie licznika 3MHz) następnie, po wystąpieniu stanu niskiego licznik jest zatrzymywany a jego wartość jest przekazywana do zmiennej pomocniczej i tam jest sumowane 12 kolejnych odczytów.
Czy jest możliwe ustawienie dwóch przerwań na jednym pinie?
W jaki sposób odczytywać wartość licznika po jego zatrzymaniu?
Czy sam pomysł rozwiązania tego problemu jest dobry czy mogę użyć innego mechanizmu wbudowanego w STMa? :)

Obrazek
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 mar 2018, o 22:10 
Offline
Użytkownik

Dołączył(a): 27 sty 2015
Posty: 61
Pomógł: 0

Udało mi się wymyślić coś takiego(jak poniżej) aż do momentu, w którym zastanawiam się jak ustawić wykrywanie zbocza opadającego. Wiem, że stan licznika jest zapamiętywany w rejestrze CCR, jego odczyt planuje wykonać po wykryciu zbocza opadającego sygnału. Ale najpierw muszę prawidłowo skonfigurować licznik do wykrywania odpowiedniego zbocza a na to nie za bardzo mam jakiś pomysł.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2018, o 17:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 sie 2013
Posty: 230
Lokalizacja: Zabrze
Pomógł: 17

Zapoznałeś się z tym dokumentem http://read.pudn.com/downloads106/sourcecode/embed/437624/stm32/STM32F%20Documents/Application%20Note/STM32F10xxx%20TIM%20application%20examples.pdf?
Może Ci pomoże - zwłaszcza sekcja 6. STM32F10xxx TIMx PWM input mode

_________________
40-32:2=4!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2018, o 22:52 
Offline
Użytkownik

Dołączył(a): 27 sty 2015
Posty: 61
Pomógł: 0

Tego dokumentu akurat nie widziałem, ale niewiele mi on pomógł póki, co.
Przygotowałem część programu, w której konfiguruje podstawowe parametry i wywołuje przerwanie w przypadku wykrycia przejścia z 0 na 1. W wyniku obsługi przerwania uruchamiany jest licznik. Jak szukałem rozwiązania to widziałem temat chyba na elektrodzie jak ktoś też robił pomiar czasu trwania impulsu, tylko, że ustawiając licznik poprzez same rejestry, bez biblioteki. Ponieważ nigdy jeszcze nie pracowałem na samych rejestrach także obawiam się, że bez rozpoczęcia nauki programowania STM-a na rejestrach od podstaw, nie zrozumiem, co dzieje się w przypadku znalezionego kodu. Wiem, że do odczytania wartości licznika wykorzystać mogę "TIM_GetCapture1" no, ale najpierw muszę dokonać poprawnego pomiaru a jeszcze wcześniej poprawnego ustawienia licznika a z tym mam problem.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO