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



Teraz jest 29 mar 2024, o 13:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 27 maja 2012, o 13:53 
Offline
Użytkownik

Dołączył(a): 07 mar 2012
Posty: 54
Pomógł: 0

Witam, realizuje cwiczenia na magistrali i2c. W kodzie ponizej zostalo zaprezentowane wyswietlanie godziny na lcd. Problem jest taki że godzina stoi w miejscu, wiem ze problem tkwi w przerwaniu i nie ustawia zmiennej pomocniczej int0_flag czyli tak jakby to przerwanie wogole sie nie wykonywalo (gdy usuniemy warunek w funkcji wyswitlajacej czas if (int0_flag) godzina sie zmienia).; Nie wiem gdzie popełniłem błąd, myśle ze rejestry do przerwania ustawiłem dobrze (dla Atmegi644P) globlane odblokowanie przerwan sei() tez jest. Gdzie tkwi problem?

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: 27 maja 2012, o 16:28 
Offline
Moderator
Avatar użytkownika

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

No konfiguracja przerwania wygląda na poprawną ale co za problem w przerwaniu wstawić zmianę jakiegoś pinu portu na przeciwną za każdym razem i podłączyć do niego diodę LED i sprawdzić czy miga sobie co sekundę i mieć pewność że przerwanie się w ogóle wykonuje ????

Bo jeśli się nie wykona czyli dioda nie będzie migać to wtedy wiesz przynajmniej co sprawdzać dalej albo program albo w ogóle połączenie z wyjścia INT układu RTC albo w ogóle podłącz LED'a do tego wyjścia bezpośrednio katodą i zobacz czy miga dioda co sekundę - przecież to wszystko da radę ładnie po kolei sprawdzić taką metodą debugera na jednej diodzie LED ;)

_________________
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: 27 maja 2012, o 21:04 
Offline
Użytkownik

Dołączył(a): 07 mar 2012
Posty: 54
Pomógł: 0

Wg mnie przerwanie wogóle się nie wykonuje, sprawdzilem to na osobnym programie :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Podłączyłem Diodę do PC7 i jest ciągle zapalona, czyli na wyjsciu PC7 caly czas jest stan niski a powinien się zmieniać co sekundę. Jakiś pomysł co może być przyczyną?

edit:
w bibliotece iom16.h z ktorej zapewne korzystam :D znajduje sie cos takiego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


w nocie do Atmegi znajdziemy że INT0 to LSB czyli 0 a nie 7, INT1 to 1 a nie 7 itd...
także wklepałem ręcznie:
EIMSK |= (1<<0);
ale to nie pomogło także jest pewnie jeszcze inny problem



Ostatnio edytowano 27 maja 2012, o 21:17 przez wasu, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 maja 2012, o 21:17 
Offline
Użytkownik

Dołączył(a): 29 mar 2012
Posty: 595
Lokalizacja: Jaworzno
Pomógł: 39

A czy podłączałeś LED bezpośrednio do wyjścia INT zegarka RTC, jak sugerował Mirek :?:

_________________
Pozdrawiam
PP



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 maja 2012, o 21:43 
Offline
Użytkownik

Dołączył(a): 07 mar 2012
Posty: 54
Pomógł: 0

okej, rozwiazalem problem ale moze nie bede mowil co bylo zle <lol2>



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 maja 2012, o 22:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2012
Posty: 43
Lokalizacja: Wrocław
Pomógł: 0

Podziel się informacją. Do tego służy forum. Przypuszczam, że nie zrobiłeś nowego projektu tylko zmieniałeś jakiś inny dlatego INT0 miał 7. Odczytywałeś nie tą bibliotekę co trzeba. Tak mi się przynajmniej wydaje :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 maja 2012, o 22:06 
Offline
Użytkownik

Dołączył(a): 07 mar 2012
Posty: 54
Pomógł: 0

nie podłączyłem wyjscia z RTC do INT0, hihi



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 10 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO