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



Teraz jest 5 lip 2026, o 13:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
 Tytuł: PROGRAMOWY PWM
PostNapisane: 21 maja 2016, o 11:49 
Offline
Nowy

Dołączył(a): 05 mar 2015
Posty: 4
Pomógł: 0

Witam. Chciałbym napisać kod do programowej obsługi PWM. Gdy wpisuję kod na podstawie tego, który był zamieszczony w książce cały czas wyskakuję mi błąd, którego zrzut ekranu zamieszczam poniżej. Używam Atmegi32 Proszę o pomoc.

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


Obrazek

W błędzie chodzi oczywiście o tą linijkę:
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: 21 maja 2016, o 12:11 
Offline
Użytkownik
Avatar użytkownika

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

Zobacz, w którym miejscu umieściłeś funkcję obsługi przerwania. Wewnątrz funkcji main.

Powinieneś mieć tak
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: 21 maja 2016, o 12:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Nawias klamrowy z linii 30 powinien trafić do linii 18.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2016, o 12:20 
Offline
Nowy

Dołączył(a): 05 mar 2015
Posty: 4
Pomógł: 0

I teraz wszystko pięknie działa. Wielkie dzięki :D

------------------------ [ Dodano po: 36 minutach ]

Mam jeszcze jedno pytanie, gdy do portów PD0-2 podłącze serwomechanizmy i wyślę wartości np pwm1=900, pwm2=1500 i pwm3=2100 to wszystkie trzy serwa stoją w miejscu i ani drgną, ktoś wie dlaczego?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2016, o 14:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 maja 2013
Posty: 432
Lokalizacja: Gostyń / Poznań
Pomógł: 25

W tym twoim przerwaniu brakuje jeszcze inkrementacji zmiennej cnt no chyba ze tu ci się nie wkleila...

Co do nie dzialania serw to wydaje mi sie ze twoja f nie wynosi 50Hz. Popatrz do jakiego rejestru wpisujesz te 20000? ICR1?


P.S.
Proponuję do testów nabyć takie tanie cudo... na serio duuuzo to pomaga :)
http://allegro.pl/analizator-stanow-log ... 70979.html

_________________
Podpis...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2016, o 14:37 
Offline
Nowy

Dołączył(a): 05 mar 2015
Posty: 4
Pomógł: 0

W mojej konfiguracji Timera w Trybie CTC wartość maksymalną trwania sygnału wyznacza ICR1 według noty katologowej, dlatego tam wpisałem zadaną wartość, żeby otrzymać 50Hz. Gdy przełączę Timer na Fast PWM w tej samej konfiguracji ICR1 i podłączę serwo do portu wyjściowego dla tego PWM wszystko działa bez zarzutu.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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