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



Teraz jest 3 maja 2026, o 16:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 2 sty 2014, o 18:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 sty 2014
Posty: 116
Pomógł: 9

Witam Szanownych Forumowiczów

Na wstępie pragnę się przywitać bo jest to mój pierwszy post. W szczególności pozdrawiam Pana Mirka :). No dobra dość przymilania pora na problemy ;). Do obsługi wyświetlacza 7seg. używam płytki z AND-techu z ATmegą 644p na pokładzie. Wrzuciłem do eclipse program Pana Mirka zmieniłem nazwy rejestrów timera i nazwę wektora przerwań, wrzuciłem program do megi i cisza. na Portach nic się nie dzieje sprawdziłem na diodach LED. Sprawdziłem też wyświetlacz na anody i katody potrzeba podać "0" aby go wysterować czyli wszystko ok. Sprawdziłem też czy z przerwaniem wszystko ok. W tym celu napisałem taki testowy programik

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



Dioda miga jak należy. Dodam, że używam Botloadaera z And-techu. Może wspólnymi siłami drodzy forumowicze uda nam się rozwikłać i ten problem.

P.S Gdyby Pan Mirek popełnił bluebooka wcześniej to nie przesiedział bym tyle czasu w BASCOMIE. :)
P.S 2 Świetne poradniki.

_________________
"Actum ne agas!"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 18:44 
Offline
Moderator
Avatar użytkownika

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

Wszystko dobrze - tylko na przyszłość BARDZO PROSZĘ PAMIĘTAJ - w takim przypadku zakładaj NOWY WĄTEK na forum a nie podpinasz się pod jakiś inny wątek w którym problem i to inny został już dawno rozwiązany OK ?

-------------------

No dobrze skoro testowy programik działa to leć dalej - pokaż jak sobie przerobiłeś kod na m644 ... bo tam masz pewnie babolki ... których nie widzisz albo w połączeniach ....

jak pomóc nie widząc kodu który tworzysz ?

a przy okazji przeszukaj czasem forum, bo akurat kwestia przeróbki multipleksowania na m644p z m32 to jeden z NAJCZĘSTSZYCH tematów

zajrzyj np tu:

topic19.html

_________________
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: 2 sty 2014, o 18:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 sty 2014
Posty: 116
Pomógł: 9

Nie chciałem zaśmiecać forum nowym wątkiem bo problem jak Pan zauważył oklepany i myślałem, że nic się już zepsuć nie da :).
przeczytałem co tylko znalazłem na ten temat ale problemu nie rozwiązałem. Poniżej przerobiony kod nie za wiele namieszałem zmieniłem tylko konfigurację rejestrów.

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


tylko tyle zmieniłem podłączenie zgodnie z d_led.h

ten topic przeanalizowałem i ustawienia mam dobre, zresztą program testowy z tymi ustawieniami działa.

_________________
"Actum ne agas!"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 19:09 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

Temat wydzieliłem... niema żadnego problemu ...:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 19:20 
Offline
Moderator
Avatar użytkownika

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

pietszyk napisał(a):
Poniżej przerobiony kod nie za wiele namieszałem zmieniłem tylko konfigurację rejestrów


Posłuchaj jeśli ci to nie działa - tzn przy okazji co to znaczy że nie działa ? w ogóle nic się nie zapala na wyświetlaczu LED ?

to wklej że cały swój przerobiony kod no bo jeszcze raz powtórzę - skąd można wiedzieć gdzie masz babola jeśli pokazujesz kod jakimiś kawałeczkami ? Wklej spokojnie cały swój przerobiony plik d_led.c oraz d_led.h

_________________
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: 2 sty 2014, o 19:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 sty 2014
Posty: 116
Pomógł: 9

d_led.c

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


d_led.h

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


kompiluje się bez błędów czy nawet warningów. Na portach C 1-4 cisza i na Porcie A cisza bez znaczenia czy wyświetlacz czy same diody podłączam. Za chwile multimetrem po portach przelecę i dowiem się konkretnie co na nich się dzieje.

Pokarało kopiowanie kodu hehe :). Po skopiowaniu plików do workspace domyślnie zaznaczona jest opcja debug zamiast release. problem w tym że jest już tam plik hex. ale pod mege32 i naciskanie młoteczka nic nie da bo zmieniony kod się nie kompiluje :mrgreen: . Trzeba było wcześniej do ręki multimetr wziąć jak "zobaczyłem" na potrach HiZ to mnie olśniło :) Swoją drogą nie ma przypadkiem w eclipse opcji aby domyślnie ustawić release? Fajny ten eclipse ale jeszcze się w nim motam trochę. Nie ma tego złego co by na dobre nie wyszło przynajmniej była okazja na forum się przywitać. A tak bym był kolejny miesiąc tylko czytelnikiem :) Pozdrawiam serdecznie. Teraz mogę spokojnie o przerwaniach 3 cz. obejrzeć.

_________________
"Actum ne agas!"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 20:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Witam
w linii 58 powinien byś chyba użyty operator AND (&) zamiast OR (|)
i jeśli Ci chodzi o zamaskowanie starszej połówki portu to powinno być (port & 0xF0)
a u Ciebie
Cytuj:
MASKA_ANODY = xxxx1111
__wtedy PORT | xxxxxxxx

nic nie zmieni
a przy AND
Cytuj:
MASKA_ANODY = 00001111
_______PORT & xxxxxxxx
--------------------------
wynik 0000xxxx

wyzerujesz starszą część portu zamiast tą co chciałęś
jeśli dasz 0xF0 na maskę powinno wyzerować młodszą część portu
a starsza pozostaje niezmieniona

MASKA = 11110000
PORT & xxxxxxxx
------------------
wynik xxxx0000

tak to wydedukowałem :) mam nadzieje że dobrze



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 23:27 
Offline
Użytkownik
Avatar użytkownika

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

Jeśli te wyświetlacze są ze wspólną anodą to linia 58 jest poprawna. Bo anody poprzez tranzystory są podłączone do czterech młodszych bitów. I żeby wygasić wszystkie wyświetlacze trzeba na tych bitach ustawić stan wysoki.

pietszyk napisał(a):
Swoją drogą nie ma przypadkiem w eclipse opcji aby domyślnie ustawić release?

Jeśli w projekcie masz włączony profil debug i chcesz się przełączyć na release to kliknij strzałkę obok młoteczka i zaznacz odpowiedni profil.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2014, o 00:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Mój błąd faktycznie autor wyraźnie pisze
żeby wysterować trzeba podać "zero"



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

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