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



Teraz jest 19 cze 2026, o 16:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 23 gru 2013, o 11:28 
Offline
Użytkownik

Dołączył(a): 20 gru 2013
Posty: 28
Pomógł: 0

Pytanie mam takie na wyprowadzeniu PB0 jest sygnał z timera0 pracującego jako PWM, potrzebuje na innym porcie np. PD4 mieć stan pinu PB0 ale zanegowany.


Dzięki z pomoc :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2013, o 12:24 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Zakładam, że masz mikrokontroler Attiny25. Na PB0 ma wyjście z funkcją OC0A, a na PB1 z funkcją OC0B. W rejestrze TCCR0A zapewne teraz masz ustawione bity COM0A1 COM0A0 na odpowiednio 1 i 0 to bity COM0B1 COM0B0 musisz ustawić inaczej czyli 1 i 1.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2013, o 14:11 
Offline
Użytkownik

Dołączył(a): 20 gru 2013
Posty: 28
Pomógł: 0

Mam ATMega8515


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Na PD4 chciałbym mieć wyjście zanegowanego sygnału z PB0

Kod umieszczamy przy pomocy syntax=c - Różowy J.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2013, o 15:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 lis 2013
Posty: 108
Pomógł: 0

Jeżeli ci chodzi o PWM sprzętowy , to ATmega 8515 ma jeszcze PWM sprzętowy na PD5 i PE2 , a stan pinu ustawisz na COM00 i COM01.
Jeżeli masz ustawione na 1 i 0 , ustaw na 1 i 1 , a jeżeli 1 i 1 , to ustaw na 1 i 0 na początek . Tak ja bym zrobił , ale mogę sie mylić . Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2013, o 18:02 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

A może po prostu zamiast robić programową negację PB0 do innego portu to wystarczy podłączyć tranzystor pnp i masz zanegowany PWM bez angażowania mikrokontrolera a masz wolne PD4 :-)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2013, o 18:08 
Offline
Użytkownik

Dołączył(a): 20 gru 2013
Posty: 28
Pomógł: 0

No tak tylko ze na płytce to jest dodatkowy element taki tranzystor, ja bym to chciał zrobić to wszystko w uP i tylko na wyprowadzeniach mieć sygnały.

------------------------ [ Dodano po: 2 minutach ]

AndreAs napisał(a):
Jeżeli ci chodzi o PWM sprzętowy , to ATmega 8515 ma jeszcze PWM sprzętowy na PD5 i PE2 , a stan pinu ustawisz na COM00 i COM01.
Jeżeli masz ustawione na 1 i 0 , ustaw na 1 i 1 , a jeżeli 1 i 1 , to ustaw na 1 i 0 na początek . Tak ja bym zrobił , ale mogę sie mylić . Pozdrawiam.


To prawda ale pochodzą z innego timera.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2013, o 18:37 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

mlp napisał(a):
No tak tylko ze na płytce to jest dodatkowy element taki tranzystor, ja bym to chciał zrobić to wszystko w uP i tylko na wyprowadzeniach mieć sygnały.

Jeżeli CPU się nudzi to w pętli głównej pooling stanu PB0 i jeżeli następuje zmiana to odpowiednia reakcja na PD4. Niestety będzie lekkie przesunięcie w fazie sygnału zanegowanego względem źródła zależne od czasu obiegu tejże pętli. To tak "brute force". Inna możliwość - jeżeli się nie mylę - to w trybie FastPWM są ustawiane flagi przerwań OCRn Interrupt flag i TOVn Interrupt flag. Wystarczy więc w obsłudze tych przerwań ustawiać odpowiednio stan PD4. Powinno zadziałać bez zbędnej zwłoki czyli niezwłocznie :)

_________________
sig off ;(



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO