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



Teraz jest 14 wrz 2025, o 08:49


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 15 lut 2017, o 23:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1041
Lokalizacja: Trójmiasto
Pomógł: 190

Nie wiem czy to ja źle rozumiem Twój tok rozumowania, czy Ty nie do końca rozumiesz jak działa timer w trybie FastPWM...
Timer skonfigurowałeś w tryb FastPWM który może generować sygnał PWM tylko na dedykowanych pinach procesora. Dla timera1 który wybrałeś mogą być generowane dwa takie niezależne przebiegi PWM jeden na pinie PD5(OC1A), a drugi na pinie PE2(OC1B). Oczywiście jeśli sygnał ma być generowany trzeba pin ustawić jako wyjście.
Szerokością impulsu PWM sterujesz wpisując do odpowiednich rejestrów(OCR1A oraz OCR1B) liczbę która jest stale porównywana z licznikiem timera. W momencie gdy licznik zaczyna liczyć od "0" na wyjściu jest ustawiana 1 (lub zero w zależności od ustawienia) a w momencie gdy licznik zliczy do wartości która jest wpisana do rejestru stan jest zmieniany na przeciwny. Gdy licznik się przekręci czyli zacznie znowu od zera znów stan wraca na 1 i cykl się powtarza.
Z tego co pisałeś pin PE2 masz wolny tak więc bez problemu możesz wykorzystać go do wyprowadzenia pojedynczego sygnału PWM...
No chyba że chodzi Ci o coś zupełnie innego a ja źle zrozumiałem - to musiał byś dokładniej opisać co ma robić i kiedy ten "komputer"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2017, o 10:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1041
Lokalizacja: Trójmiasto
Pomógł: 190

studi napisał(a):
chyba, że ja źle zrozumiałem licznik nie zlicza do wartości 0xFFFF tylko do wartości wpisanej do ICR1 jako wartość TOP.

Licznik zlicza do przepełnienia.
Co do przerwań to nigdy tego nie sprawdzałem ale wydaje mi się że powinny działać pomimo trybu FastPWM.

studi napisał(a):
to mógłbym z rejestru portu PORTE odczytać czy jest tam 1 czy 0 poprzez PORTE &= (1<<PE2)
jeśli już to PORTE & (1<<PE2) ale generalnie tak.



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: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO