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



Teraz jest 19 kwi 2024, o 19:19


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 18 cze 2017, o 20:21 
Offline
Nowy

Dołączył(a): 07 maja 2017
Posty: 5
Pomógł: 0

Witam wszystkich.
Jestem bardzo początkującym użytkownikiem zarówno forum jak i AVR. Chciałem zacząć zrozumienie konfigurowania PWM dla Atmegi 328P od absolutnie najprostszej rzeczy. Przeczytałem o tym rozdział w bluebook, napisałem bardzo prosty kod... i już na początku nie działa. Przebrnąłem przez dokumentację mnóstwo razy, i nie widzę powodu dla którego dioda podłączona do PD6 nie chce świecić. Zaznaczę że nie jest to problem z połączeniem ani z diodą, ponieważ gdy próbuję nią migać, wszystko działa jak należy. Nie potrafię tylko widocznie zaprogramować tego PWM... Uzyskałem pewną podpowiedź że "nie skonfigurowałem wyjścia, bo samo ustawienie OCR0A nie daje nam od razu sygnału na PD6" - ale przecież ustawiłem bity COM0A1 oraz COM0A0 więc pin PD6 powinien pracować teraz w trybie PWM. Nie mam pojęcia co z tym robić, załączam kod programu oraz fragment noty katalogowej, coby nie zmuszać nikogo do wertowania.


Obrazek

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: 18 cze 2017, o 20:47 
Offline
Moderator
Avatar użytkownika

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

Powiedz mi, masz w tabelce 7 trybów działania timera. Zwykle każdy testuje je "OD POCZĄTKU" czyli od trybu 0 po kolei do 7. Zwykle początkujący którzy zaczynają od końca ... mają ten sam problem co ty ...

dlaczego wybrałeś tryb 7 skoro masz tryb 3 dla FAST PWM ?

mówię ci sprawdź go na początek a później zastanów się patrząc w tabelkę jaka jest różnica ? ;) ok ?

jak nie będziesz mógł dostrzec to napisz

_________________
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  
PostNapisane: 18 cze 2017, o 20:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Zwróć jeszcze uwagę na WGM02, przecież znajduje się w rejestrze TCCR0B, a nie w TCCR0A. ;)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2017, o 21:11 
Offline
Nowy

Dołączył(a): 07 maja 2017
Posty: 5
Pomógł: 0

Racja, nie zamierzałem ustawiać trybu 7, te (1<<WGM02) dodałem rozpaczliwie później żeby zobaczyć czy to coś da i zapomniałem o nim. Ale mimo usunięcia tego zapisu (czyli ustawiam tryb 3) nadal dioda nie świeci. Już naprawdę nie rozumiem, próbowałem nawet obwinić wadliwy rezystor, ale to nie to. Jeśli widać wyraźnie jakiś elementarny błąd, to wskażcie mi go proszę, bo ja już nie mam siły, siedzę tyle czasu nad paroma linijkami kodu :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2017, o 21:16 
Offline
Moderator
Avatar użytkownika

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

a ustawiłeś tryb 3 czy jednak nie masz ochoty zobaczyć w 5 sekund o co chodzi?


Autor postu otrzymał pochwałę

_________________
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  
PostNapisane: 18 cze 2017, o 21:28 
Offline
Nowy

Dołączył(a): 07 maja 2017
Posty: 5
Pomógł: 0

Ustawiłem tryb 3, z tego co rozumiem to tryb 7 pozwala nam ustawić inny maksymalny poziom sygnału OC0 (zadany przez nas), ale pewien nie jestem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2017, o 21:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Pokaż aktualny kod.
Testujesz na płytce stykowej? Zrób kilka fotek, może robisz jakiegoś babola.
Napisz czy odznaczyłeś bit CKDIV8 - wewnętrzny podział zegara przez 8.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2017, o 21:36 
Offline
Moderator
Avatar użytkownika

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

Cytuj:
Pokaż aktualny kod.

Dokładnie

_________________
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  
PostNapisane: 18 cze 2017, o 21:50 
Offline
Nowy

Dołączył(a): 07 maja 2017
Posty: 5
Pomógł: 0

Aktualny kod:


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


Podłączenie - anoda przez rezystor 100Ohm do Vcc, katoda do pinu (wyświetlaczem w tle nie ma się co przejmować):

ObrazekObrazekObrazek


A jeśli chodzi o CKDIV8 to jeszcze o tym nie słyszałem, ale nie ustawiałem go sam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2017, o 22:16 
Offline
Moderator
Avatar użytkownika

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

jacek_chelminski napisał(a):
A jeśli chodzi o CKDIV8 to jeszcze o tym nie słyszałem, ale nie ustawiałem go sam.

Przecież masz Bluebooka a tam masz opisane fusebity, co więcej w MkAvrCalculator masz WYRAŹNĄ uwagę na czerwono odnośnie tego fusebitu w zakładce "Fusy Uproszczone" - czytałeś ją?

_________________
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  
PostNapisane: 18 cze 2017, o 22:19 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 288
Lokalizacja: Gdańsk
Pomógł: 13

jacek_chelminski napisał(a):
A jeśli chodzi o CKDIV8 to jeszcze o tym nie słyszałem, ale nie ustawiałem go sam

on jest fabrycznie zaznaczony, więc musisz go odznaczyć.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 07:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Kilka pytań co do płytki stykowej (I ZDJECIE)
- Czy kabelek szary jest podpięty do katody?
- Czy podpiąłeś zasilanie do płytki stykowej?
- Pokaż schemat

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 08:05 
Offline
Nowy

Dołączył(a): 07 maja 2017
Posty: 5
Pomógł: 0

OK, problem rozwiązany - przyczyna była bardzo kuriozalna. Winnym było środowisko Eclipse, którego używam - z nieznanych mi przyczyn utworzony projekt nie chciał ładować się do procesora, zorientowałem się dopiero gdy w tym samym projekcie chciałem po prostu zapalić diodę na innym porcie i nie udało się nawet to. Po przeklejeniu całego kodu do nowego projektu wszystko zaczęło działać bez zarzutu. Nie rozumiem dlaczego tak się stało, wszystkie ustawienia były takie same w obu projektach, może to coś z plikami debuggera... Szkoda tylko że Eclipse nie powiadamia w żaden sposób że coś jest nie tak, zmarnowałem przez to wiele godzin.

Co do fusebitów, z tego co zrozumiałem pozwalają ustawić wyższą rzeczywistą częstotliwość taktowania procesora - bez ingerencji w nie jest tylko 1MHz, tak? Na razie dopiero zaczynam, nie mam nawet jeszcze pełnej wersji MkvCalculator (a bez tego wolę nie kombinować :D ), w razie czego będę pytał :)

Dziękuję bardzo wszystkim za pomoc! Niesamowity czas reakcji, nie spodziewałem się odpowiedzi w niedzielę w nocy :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 09:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

zmiana debug na release

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2017, o 13:05 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

W trakcie próby wgrania wsadu do procka w konsoli Eclipse nie pojawiały się żadne komunikaty, czy ostrzeżenia?
To właśnie tam Eclipse powiadamia o tym, że jest coś nie 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: 15 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 9 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