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



Teraz jest 3 mar 2026, o 06:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 19 ] 
Autor Wiadomość
PostNapisane: 21 sty 2015, o 21:33 
Offline
Użytkownik

Dołączył(a): 09 cze 2013
Posty: 34
Pomógł: 0

Witam,

mam problem z ustawieniem przerwania compare match na 16-bitowym timerze 3.
To samo przerwanie na Timerze1 udało mi się ustawić bez problemu. Ale to co wykonuję w T1 potrbuję przenieść na Timer3, ponieważ w późniejszym czasie będzie mi potrzebny input capture wyzwalany komparatorem, a to potrzfi tylko Timer 1. Ale do rzeczy:
w ten sposób ustawiłem działający Timer 1:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

A oto kod z timerem3, który nie działa:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Nie wiem co robię nie tak, bardzo proszę o pomoc.

Jeszcze tak na marginiesie, chciałbym się odnieść do fragmentu kodu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Bez tego fragmentu kodu uC wogóle nie rusza, nawet nie wchodzi w funkcję int main(),
aby dopisać ten fragment kodu poradził mi kolega, który nie zna C ale zna assembler i podziałało.
Jest to dla mnie dziwne bo nigdy wcześniej tego nie robiłem i też nie słyszałem, że powinno się inicjalizować wskaźnik stosu.
Wcześniej pracowałem tylko z Atmegą8 i zawsze wszystko grało, odkąd zacząłem z atmegą64A to mam same problemy i ogólnie droga przez mękę, ciągłe niespodzianki.



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

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

No z tym ustawianiem stosu (jak w asemblerze) to kolega zaszalał na maxa ;)

proponuję to wyrzucić bo to jest hmmm ... no delikatnie mówiąc - kosmiczny pomysł

a zainteresować się lepiej wyłączeniem fusebitu CompMode lub M103 w takich prockach jak ATmega64 czy ATmega128 ;)


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: 21 sty 2015, o 22:48 
Offline
Użytkownik

Dołączył(a): 09 cze 2013
Posty: 34
Pomógł: 0

Czyli ten problem wynika z nieprawidłowego ustawienia fusebitów.
Dziękuję bardzo:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2015, o 09:16 
Offline
Użytkownik

Dołączył(a): 09 cze 2013
Posty: 34
Pomógł: 0

Zaglądnąłem do ustawień fusebitów, i fuse M103C jest wyłączony, a fusa CompMode nie mogę znaleźć. Wyrzuciłem fragment kodu z inicjalizacją stosu i atmega nie startuje z programem:/
Na dole załączam obrazek z ustawienia fusów:
Obrazek

Ptaszki oznacają, że fuse bit = 0. W ponny progu bo na razie nie mam pełnej wersji mkavrcalc , przymierzam się do zakupu w najbliższym czasie ;)

Proszę o pomoc, gdzie jest błąd, dlaczego program nie startuje.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2015, o 09:51 
Offline
Moderator
Avatar użytkownika

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

wczytaj się tam w te ptaszki ponyprogowe bo już nie jeden poległ na ptaszkowaniu fusów w tym programie - ja nie mam pojęcia czy ten fus M103 masz wyłączony czy nie :(

Rafael86 napisał(a):
i fuse M103C jest wyłączony, a fusa CompMode nie mogę znaleźć.

to jest to samo - tylko czasem określane jest to M103C a czasem jako CompMode i to przez samego Atmela

_________________
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: 22 sty 2015, o 10:23 
Offline
Użytkownik
Avatar użytkownika

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

Masz na dole legendę, która mówi checked items means programmed |(bit=0) co oznacza, że u Ciebie jest zaprogramowane bo masz ptaszka (hehehe)

------------------------ [ Dodano z prędkością 1Gbit/sek ]

Także nie masz wyłączonego gdyż ptaszek oznacza zaprogramowany

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2015, o 12:28 
Offline
Użytkownik

Dołączył(a): 09 cze 2013
Posty: 34
Pomógł: 0

Faktycznie, teraz działa elegancko, zobacze jeszcze czy te nie działające Timery to też była konsekwencja źle ustawionych fusów. Dziękuję;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2015, o 15:01 
Offline
Użytkownik
Avatar użytkownika

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

Proszę.
Na kogo wystawić rachunek? :twisted:

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2015, o 23:03 
Offline
Użytkownik

Dołączył(a): 09 cze 2013
Posty: 34
Pomógł: 0

hehe:) może być na koszt firmy Atmel ;)
Ale dalej mam problem z timerami. Jak wyżej pisałem nie działa Timer3, a w timerze1 uruchomiłem w trybie CTC prerwania od output compare od porówniania z OCR1A i OCR1B, natomiast przerwanie od porównania z OCR1C już też nie działa mimo, że dokonałem inicjalizacji w identyczny sposób jak OCR1A i B. Kompletnie nie wiem o co z tym chodzi. Wiem, że początkujący mają tendencje (jak coś nie działa) do nażekania na sprzęt, ale jest taka możliwość, że mikrokonroler jest w części uszkodzony ? wcześniej miałem wątek, że atmega64 nie chiała się programować, z programu mkacrcalc dało się ją zczytać za okolo 10 klinięciem, a program po wgraniu nie startował, natomiast gdy tylko ją wylutowałem i wstawiłem nową to wszystko od razu zagrało. Może trafiłem na jakąś wadliwą serię. Pewnie tak nie jest ale skońćzyły mi się już pomysły więc zostało mi obwinianie sprzętu;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2015, o 05:32 
Offline
Moderator
Avatar użytkownika

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

Jak ja słyszę, że nie działa jeden timer w procku a drugi działa w połowie a do tego
Rafael86 napisał(a):
Może trafiłem na jakąś wadliwą serię

to nie gniewaj się ale bebechy mi się przewracają na lewą stronę :( Tym bardziej, że niby piszesz:
Rafael86 napisał(a):
Wiem, że początkujący mają tendencje (jak coś nie działa) do nażekania na sprzęt


Weź idź wywal procka na śmietnik i kup nowego, jak będziesz miał to samo, to znowu wywal i kup kolejnego, jak to samo to na śmietnik i nowego itd itp itd itp

ciekaw jestem ile procków wywalisz 500 ? .... 1200 ? ... zanim dojdziesz do wniosku ... ?

Cytuj:
"hmmm a może to jednak ja robię gdzieś błąd? ..... ale ok skoro sam go nie mogę znaleźć to może napiszę na jakimś forum fragmenty kodu jakie próbuję stworzyć, pokażę schemat jak ja to podłączam i zasilam tak w ogóle? ... może ktoś spojrzy świeżym okiem i pomoże mi znaleźć miejsce gdzie robię babola - no bo już zmarnowałem sporo kasy wyrzucając 1200 procków :( "


I wtedy to ja powiem że miałeś dobry pomysł ... bo po tym co wyżej piszesz, tzn po tej beletrystyce, prozie i opowiadaniu - to można tylko usiąść i popłakać.

Ciekawe ile razy jeszcze na forum muszę powtórzyć, że elektronicy/programiści porozumiewają się za pomocą:

1. schematów
2. kodów źródłowych
3. wzorów PCB

a humaniści za pomocą:

1. wierszy
2. prozy
3. opowiadań

sam pomyśl teraz - to jest forum humanistyczne czy techniczne ?

_________________
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: 23 sty 2015, o 08:48 
Offline
Użytkownik
Avatar użytkownika

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

64 ma podobne ustawienia jak 16 i 32. One sie rożnią od 8. Przeczytaj dokładnie note i wrzuć tu kawałek programu gdzie
a) inicjalizujesz timery (wszystkie)
b) wywołujesz funkcje timera. Bo może zwyczajnie skopałeś obsługę timera i dlatego wydaje Ci się, że nie działa.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2015, o 09:00 
Offline
Użytkownik

Dołączył(a): 09 cze 2013
Posty: 34
Pomógł: 0

Ma Pan racje. Więc zaczne jeszcze raz. Robie bardzo ciekawy projekt, w którym potrzebne mi są dwa timery 16-to bitowe. Jeden na potrzeby sterowania silnikiem krokowym, włącznie z rampą rozpędzjącą (to jest gotowe i ładnie działa), obsługuję też komunikację modbus z panelem operatorskim (i to też ładnie działa) + enkoder (też wszystko ładnie gra). Brakuje mi drugiego timera16-bitowego który będę potrzebował do precyzyjnego pomiaru czasu.
Będę chciał wykorzystać do tego celu tryb inputcapture ale na początek chciałem go zinicjalizować w trybie CTC. I z tym napotkałem problem. Oto kod, w którym inicjalizuje pracę Timera_3 i aby zauważyć efekty jego działania mrugam w przerwaniu diodą :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Na dole screen ze schematu połączeń procesorka.
W ramach pokuty za te romantyczne wiersze co wcześniej pisałem, jak tylko się uporam z tym timerem to napisze ładny referacik z obsługi komunikacji Modbus RTC i wystawie na forum, ponieważ dosyć dobrze udało mi się to po dłuższym czasie obcykać ;)

ObrazekObrazek

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

Chciałem napisać Modbus RTU oczywiście;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2015, o 09:36 
Offline
Moderator
Avatar użytkownika

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

no i teraz jaśniej, w takim razie pytanie dodatkowe do ciebie.

Próbowałeś migać samą diodą LED w pętli głównej? bez udziału timera ? z jakimś zwykłym delayem ? wtedy miga ?

_________________
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: 23 sty 2015, o 10:20 
Offline
Użytkownik
Avatar użytkownika

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

Wywoływanie wygląda w porządku.
Wiem w czym może tkwić problem. Mój port A zachowywał się tak samo jak źle popodłączałem zasilanie. Sprawdź na innym porcie czy działa wtedy będziesz wiedział czy to nie jest wina złego podłączenia. Polecam port D bo on zawsze działa :D


Autor postu otrzymał pochwałę

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2015, o 10:52 
Offline
Użytkownik

Dołączył(a): 09 cze 2013
Posty: 34
Pomógł: 0

Próbowałem na innych pinach PORTA bo tylko do tego portu miałem na płytce wlutowane diody, ale przylutowałem na szybko do PORTD i faktycznie teraz działa:)
Ale dziwne bo wcześniej próbowałem w pętli while i to na samym początku mrugać diodą i działało, zawszę tak robię wcześniej żeby sprawdzić. A teraz te piny nie działają:/ Rezystor ograniczający prąd diody to 330 omów więc moim zdaniem ok.

Dziękuję za pomoc i przepraszam za zamieszanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2015, o 11:04 
Offline
Użytkownik
Avatar użytkownika

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

Popraw zasilanie i port A powinien ruszyć z kopyta

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



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

Dołączył(a): 18 maja 2014
Posty: 126
Pomógł: 12

mirekk36 napisał(a):
Weź idź wywal procka na śmietnik i kup nowego, jak będziesz miał to samo, to znowu wywal i kup kolejnego, jak to samo to na śmietnik i nowego itd itp itd itp

ciekaw jestem ile procków wywalisz 500 ? .... 1200 ? ... zanim dojdziesz do wniosku ... ?

Ciekawa byłaby statystyka, mówiąca ile procentowo problemów na forum okazało się być rzeczywiście związanych z felernym egzemplarzem procesora/układu scalonego/modułu (niepotrzebne skreślić) ;) Mnie się nawet nigdy nie zdarzyło samemu zepsuć avra, choć czasem coś się zwarło lub źle połączyło. Widać jakie to odporne bestie na którymś poradniku, gdzie atmega8 przeżyła kilkuminutowe gotowanie z odwrotnie podpiętym zasilaniem :) Usmażyłem za to raz wejście ADC i kilka malutkich mosfetów, które były wrażliwe na elektrostatykę i lubiły dostać przebicia przy montażu.

_________________
Pozdrawiam, Adrian.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2015, o 18:30 
Offline
Użytkownik
Avatar użytkownika

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

Federerer napisał(a):
Widać jakie to odporne bestie na którymś poradniku, gdzie atmega8 przeżyła kilkuminutowe gotowanie z odwrotnie podpiętym zasilaniem :)


A wiesz jak fajnie się gotuje Atmega16 w obudowie DIP przy podłączeniu do niej 12V? Za to LCD Nokia 3310 przeżył to gotowanie:)

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2015, o 13:41 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3230
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

A jak kiedyś pisałem żeby na Atmegi dawać radiatory to się ze mnie śmiano :lol:

_________________
http://www.jaglarz.info



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

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