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



Teraz jest 8 lut 2025, o 13:11


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 8 gru 2012, o 12:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 cze 2012
Posty: 420
Lokalizacja: Poznań
Pomógł: 5

Skoro zapoczątkowałem istnienie tego działu to może powinienem coś tu w końcu napisać? :)
Pomożecie? :)

Dla wielu z Was to pewnie pryszcz, a ja nie mam czasu teraz przegryzać się teraz przez noty ATmegi8. :(

Program na ATmega32 działa bez zarzutu. Teraz muszę to przerobić na ATmega8 żeby nie używać tego "SŁONIA" do mrygania diodami ;) . Podejrzewam, że chodzi o inne rejestry/bity konfiguracji timera niż w m32.

Całe zadanie polega na przerobieniu programu 05_PWM - Mirka z książki I, tak żeby działał na ATmega8 czyli pewnie chodzi o inne ustawienia Timera w m8 w porównaniu do m32. Chodzi mi o ten PWM programowy. Program nawet się skompilował, ale nie działa poprawnie :).

Jeśli nie wiecie jak się za to zabrać to nie traćcie dla mnie czasu. Jeśli wiecie jak, ale jak ja nie macie czasu - rozumiem :)

Mój deadline to 09.12.2012r. czyli jutro - a całe urządzenie to domowy sterownik Na święta ;P
W przeciwnym wypadku nie będzie w tym roku jeszcze tego oświetlenia w moim domu i będzie w przyszłym roku :) (czyli nie jest to sprawa życia i śmierci :lol: )

Pozdrawiam :)

_________________
Wysłane z nowego ATB 1.05beta + ATB ETHERNET



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2012, o 13:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 cze 2012
Posty: 420
Lokalizacja: Poznań
Pomógł: 5

Zmodyfikowałem sobie program 05_PWM tak że steruje 8 kanałami na porcie D w różnych odstępach czasowych itp. Cała struktura programu została niezmieniona - nie chcę tutaj publikować kodu bo każdy go ma na DVD. A teraz chcę go przerzucić na m8, bo szkoda mi żeby pod światełka na cały miesiąc był podłączony zestaw ATB :) To byłaby profanacja :)

Działa to podobnie jak Twój fade na wyświetlaczu 7seg. Czyli zapalam sobie diodę 0 i 1 później np 3 5 8 później 4 i 2 itp (wszystko płynnie)

Po zmianie we właściwościach projektu na mega8, kompilacji i wgraniu do m8 efekt jest taki, że wszystkie diody się świecą światłem ciągłym więc podejrzewam, że nie ruszył timer odpowiedzialny za PWM.

Pozdrawiam! :)

_________________
Wysłane z nowego ATB 1.05beta + ATB ETHERNET



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2012, o 13:16 
Offline
Moderator
Avatar użytkownika

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

Panie NIEBO!, słuchajcie no Pan ;)

Powiadacie że chcecie tą lekcję 05_PWM przerobić na ATmega8 ? hmmm ?

No jednak warto zajrzeć do PDF'a żeby zobaczyć, że wybrałeś pan procek, który przecież nie ma sprzętowego PWM'a dla Timer0, a w tym przykładzie to właśnie na Timer0 w m32 jest odpalany sprzętowy PWM. Tyle że ty niby piszesz że chcesz TYLKO programowy PWM z tej lekcji - to w czym problem ? ;) zakomentuj TYLKO linijki związane z Timer0 i wszystko ci się PIKNIE skompiluje. Żadnych przeróbek kodu nawet nie trzeba.

_________________
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: 8 gru 2012, o 14:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 cze 2012
Posty: 420
Lokalizacja: Poznań
Pomógł: 5

Zauważyłem teraz coś dziwnego. We właściwościach projektu w ECLIPSE mam wybrane atmega8 (poprzednio m32 ) a podczas kompilacji i tak jest:

Kod:
**** Build of configuration Release for project KARTKA_SWIATECZNA ****

make all
Invoking: Print Size
avr-size --format=avr --mcu=atmega32 05_PWM.elf
AVR Memory Usage
----------------
Device: atmega32

Program:     952 bytes (2.9% Full)
(.text + .data + .bootloader)

Data:          9 bytes (0.4% Full)
(.data + .bss + .noinit)


Finished building: sizedummy


Czyli mam coś zwalone właściwości projektu - może od początku to źle robię bo martwi mnie ta linia w consoli:
Kod:
...-mcu=atmega32 05_PWM.elf

Jak coś zaczynam przerabiać to żeby nie mieszać w oryginalnym projekcie to:
kopuję projekt
wklejam do workspace
Zmieniam we właściwościach nazwę projektu
(i może to wszystko robię źle)

jak zrobiłem nowy projekt od początku na m8, a nie tylko zmieniony ten od mirka to właśnie na czerwono wszystko podkreśla od OCR0 - ja w ogóle nie wiem czy to zadziała na m8 ....

_________________
Wysłane z nowego ATB 1.05beta + ATB ETHERNET



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2012, o 14:43 
Offline
Użytkownik

Dołączył(a): 07 maja 2012
Posty: 119
Pomógł: 2

Ja miałem podobną sytuację. Zmień procek we właściwościach na jakiegoś attiny, skompiluj, sypnie błędami, następnie przełącz na m8 i jeszcze raz skompiluj. U mnie po czymś takim program ruszył :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2012, o 16:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 cze 2012
Posty: 420
Lokalizacja: Poznań
Pomógł: 5

Witajcie! :)

CLEAN robiłem to nie to ...

Dzięki za pomoc antystatyczny za program z PW :)

Skompilowało się, ale działa tak samo ... czyli nie działa :) Dopiero wieczorem będę miał czas żeby jednak inaczej podejść do tematu - zacząć od migającej diody na Timerze, a potem bardziej skomplikowane rzeczy :) Bo być może źle jest skonfigurowany sprzęt, fusy... no nie wiem :) Zacznę od migającej diody na m8 - pewnie to działa programowo, ale przejście z jednego hardware na drugi jednak trochę czasu wymaga :)

_________________
Wysłane z nowego ATB 1.05beta + ATB ETHERNET



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2012, o 18:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2012
Posty: 119
Pomógł: 3

Spróbuj jeszcze raz zrobić nowy projekt, przy tworzeniu wybrać atmega8 i taktowanie oraz w main.c napisać tylko to co niezbędne.

Ostatnio miałem problem z timerem na atmega16 i dopiero za którymś nowo utworzonym projektem zaczęło działać. Czemu ? - do tej pory nie wiem. Błędów w kodzie nie było.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2012, o 18:17 
Offline
Użytkownik

Dołączył(a): 02 maja 2012
Posty: 112
Pomógł: 10

xpower napisał(a):
dopiero za którymś nowo utworzonym projektem zaczęło działać. Czemu ? - do tej pory nie wiem. Błędów w kodzie nie było.
Może zmieniła się faza Księżyca ? :mrgreen:

A tak bardziej serio to może padłeś ofiarą słabej filtracji przy zasilaniu (topic1892.html)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2012, o 18:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2012
Posty: 119
Pomógł: 3

Robię na tej samej płytce testowej, w tej samej wersji eclipse. Zrobiłem nowy projekt, wrzuciłem do niego testowy kod na miganie diodą w oparciu o timer programowy - zadziałało, więc usunąłem kod testowy i po kawałku kopiowałem właściwy kod ze starego projektu. Działa tak jak powinien.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2012, o 21:37 
Offline
Moderator
Avatar użytkownika

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

NIEBO! napisał(a):
Witajcie! :)

CLEAN robiłem to nie to ...


Gdyby nie to że dzisiaj - wcześniej jak sprawdzałem ten projekt po twoim pytaniu miałem DOKŁADNIE TAK SAMO, że ATmega32 zaskoczyła i nie chciała puścić pomimo że zmieniałem na inne procki to chyba bym ci nie uwierzył ;)

no a przecież ten projekt zassałem opcją IMPORT z innego workspace więc powinno być wszystko OK - tymczasem kicha, wciąż ATmega32 i nie daje rady zmienić
;)

no i sobie przypomniałem że na tej wersji eclipse wcześniej bawiłem się z instalacją dwóch wersji plugina ....

więc szybciutko rozpakowałem jeszcze raz INDIGO

zainstalowałem najnowszy plugin i wszystko wg poradnika - i co?

i potem już projekt działał

_________________
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: 8 gru 2012, o 21:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 cze 2012
Posty: 420
Lokalizacja: Poznań
Pomógł: 5

mirekk36 napisał(a):


Gdyby nie to że dzisiaj - wcześniej jak sprawdzałem ten projekt po twoim pytaniu miałem DOKŁADNIE TAK SAMO, że ATmega32 zaskoczyła i nie chciała puścić pomimo że zmieniałem na inne procki to chyba bym ci nie uwierzył ;)



Oj Mirku niedowiarku Ty :)

A ja dalej się męczę :) Tzn sprzęt już działa, fusy, USBasp mkavrkalkulator ... tu mam pewnosć że jest OK, bo udało mi się uruchomić na ATB + Konwerter ATmega8 program 1 z delayem "migająca dioda" ... ale gdy wgrywam mój program który działa na ATmega32 nic się nie dzieje - port D "milczy". Zaraz przywrócę jeszcze raz od nowa plik 05_PWM i dalej będę męczył :) Muszę to dzisiaj zmęczyć :) Nie ustąpię <tupie> :)

------------------------ [ Dodano po: 22 minutach ]

Hehehe :) Tupanie pomogło :) Ruszyło też na mega8, ale ... no teraz to już kosmetyka :) Dlaczego nie działało wcześniej - nie wiem :P W każdym razie polecam tupanie :P (samozaparcie)

Dzięki Antystatyczny na zmianę OCR :)

_________________
Wysłane z nowego ATB 1.05beta + ATB ETHERNET



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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