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



Teraz jest 27 lut 2025, o 19:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 5 lut 2015, o 15:02 
Offline
Nowy

Dołączył(a): 17 lut 2014
Posty: 4
Pomógł: 0

Witam,
Tak sobie dzisiaj kombinuje z didą led wg blue booka i mam cos takiego. Jak widac zrobiłem błąd w ustawieniu fast PWM, no i niemam prescalera. O dziwo wszystko dziala. Zastanawiam się dlaczego Czy ktos moze to rozsadnie wyjasnić?

[ panie kolego proszę cię zapoznaj się najpierw dokładnie z tym: topic7402.html i popraw kod źródłowy ok? - mirekk36 ]


#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

int main(void){

//inicjalizacja PWM

DDRB=(1<<PB3);
TCCR0|=(1<<WGM01) | (1<<WGM00);
TCCR0|=(1<<COM01) | (1<COM00);
OCR0=255;
//koniec inicjalizacji PWM

uint8_t i;
while(1){

for (i=0; i<255;i++)
{
OCR0=i;
_delay_ms(5);
}

}
}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2015, o 15:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

PWM działa bo ustawiłeś tryb Fast PWM i... preskaler. A gdzie ten preskaler? Ano w tej linijce
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


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


W rezultacie non inverting mode zamiast oczekiwanego inverting mode i ustawiłeś preskaler na 1. Dlatego PWM działa.

Zapytasz skąd wiem, że kompilator tak a nie inaczej ustawił ten rejestr? Po prostu zajrzałem sobie do pliku *.lss. A tam ładnie widać coś takiego
Składnia: [ Pobierz ] [ Ukryj ]
język asm
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

W linii 7 widać jak ten błąd, który zrobiłeś wpłynął na ustawienie rejestru TCCR0.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2015, o 17:10 
Offline
Nowy

Dołączył(a): 17 lut 2014
Posty: 4
Pomógł: 0

Dzięki bardzo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2015, o 21:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

mirekk36 napisał(a):
panie kolego proszę cię zapoznaj się najpierw dokładnie z tym: topic7402.html i popraw kod źródłowy ok? - mirekk36



Mirku, ja myślę, że kolega z premedytacją wstawił w ten sposób kod żeby móc zaznaczyć na czerwono miejsce błędu. W objęciach "SYNTAX" nie byłby w stanie tego zaznaczyć.

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2015, o 21:13 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27360
Lokalizacja: Szczecin
Pomógł: 1042

WoodPaker napisał(a):
W objęciach "SYNTAX" nie byłby w stanie tego zaznaczyć.

Jest MILION sposobów żeby zaznaczyć błąd - czy to można robić tylko kolorem?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



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

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