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



Teraz jest 28 maja 2026, o 11:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 
Autor Wiadomość
PostNapisane: 13 lip 2013, o 21:00 
Offline
Użytkownik

Dołączył(a): 03 mar 2013
Posty: 41
Pomógł: 0

Witam, postaram się przedstawić swój problem jak najkrócej.
Uczę się C dla avr z pierwszej książki Pana Mirka. Korzystam z płytki stykowej i Atmegi8l.

Przerabiam teraz przerwania zewnetrzne z wykorzystaniem PCF8583. (posiadam PCF8583p)
Nie działa mi podciągniecie PORTU PB2 do VCC. Przez co nie mogę sterować procedura obsługi przerwań sygnałem z INT w RTC.
1 Hz z PCF jest na pewno, dioda miga. Zwierając PB2/INT0 do Vcc przerwanie się wykonuje. W przerobionym przeze mnie kodzie pana Mirka przerwanie miga dioda i wysyła informacje przez uart. Schematu nie zamieszczam ponieważ jest taki sam jak w książce na stronie 278 z taką różnicą że do SDA i SCL dałem rezystory 5k a nie 4,7k ponieważ takie miałem pod ręką i nie ma podtrzymania z baterii. Zakładanie tematu z pytaniem zostawiłem sobie na ostateczność, przeszukałem forum i dowiedziałem się że taki problem rozwiązuję podciągniecie PB2 do Vcc lecz nie u mnie albo robię to źle.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Liczę na Waszą pomoc i z góry dziękuje ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lip 2013, o 22:23 
Offline
Moderator
Avatar użytkownika

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

Ale to nie do końca rozumiem twojego problemu - bo piszesz z jednej strony o podciąganiu a z drugiej, że ci nie działa przerwanie ... ?? czy jeszcze coś inaczej ?

z drugiej strony piszesz ze jak podłączysz jakieś PB2 do INT0 to przerwanie działa, i że PCF też działa bo miga diodą - no to już kompletnie nie wiem w czym problem ?

A co to np znaczy ?
dawidn47 napisał(a):
Zwierając PB2/INT0 do Vcc przerwanie się wykonuje


PB2/INT0 ??? przecież INT0 jest na PD2 ... może masz na myśli że zwierasz PB2 do PD2(INT0) no ale wtedy co oznacza że do VCC ???

sam zobacz - kompletnie ciężko na takie pytanie odpowiedzieć - chociaż już ze 3-4 razy czytam tekst

_________________
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: 13 lip 2013, o 22:38 
Offline
Użytkownik

Dołączył(a): 03 mar 2013
Posty: 41
Pomógł: 0

Proszę mi wybaczyć sposób w jaki przedstawiam ten problem, ale nie znam jeszcze na tyle terminologi żeby się porządnie wypowiedzieć. Spróbuje jeszcze raz.

mirekk36 napisał(a):
PB2/INT0 ??? przecież INT0 jest na PD2 ... może masz na myśli że zwierasz PB2 do PD2(INT0)


Mój błąd, chodziło mi o PD2.

Problemem jest to że sygnał z RTC nie powoduje przerwań. Mogę je wykonywać "ręcznie" po przez zwieranie INT0 do napięcia zasilania, wtedy przerwanie wykonuje się poprawnie.

mirekk36 napisał(a):
Ale to nie do końca rozumiem twojego problemu - bo piszesz z jednej strony o podciąganiu a z drugiej, że ci nie działa przerwanie ... ?? czy jeszcze coś inaczej ?


To wyjaśnię w ten sposób że nie mogę podciągnąć PD2 do Vcc przez co nie wykonuję sie przerwanie. Przynajmniej tak mi się wydaje. Proszę mnie poprawić jeśli moje przypuszczenia są niepoprawne.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2013, o 10:05 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Takie są płytki stykowe :) przełóż uC w inne miejsce na płytce, podłącz rtc pod INT w uC i musi działać. Pewnie to drobny babol. :D

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2013, o 13:21 
Offline
Użytkownik

Dołączył(a): 03 mar 2013
Posty: 41
Pomógł: 0

Antystatyczny napisał(a):
Sprawdź miernikiem, czy faktycznie masz połączenie pinów INT0 oraz INT. Następnie włącz podciąganie pinu PD2 i spróbuj ręcznie wywoływać przerwanie zwierając ten pin do GND. Daj znać jak poszło.


Sprawdziłem miernikiem połączenie, jest w porządku wszystko.
W kodzie programu znajduje się już podciągnięcie pinu PB2.
Zwieranie do GND nie wywołuje przerwania.

------------------------ [ Dodano po: 1 minucie ]

Janadamis napisał(a):
Takie są płytki stykowe przełóż uC w inne miejsce na płytce, podłącz rtc pod INT w uC i musi działać. Pewnie to drobny babol.


Próbowałem z inną płytką stykową, nie pomogło.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2013, o 14:39 
Offline
Użytkownik

Dołączył(a): 03 mar 2013
Posty: 41
Pomógł: 0

Na porcie PD2 jest napięcie 0.04 - 0.05 V. Podciągnięcie rezystorem 10k nie pomogło.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2013, o 14:54 
Offline
Moderator
Avatar użytkownika

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

dawidn47 napisał(a):
Schematu nie zamieszczam ponieważ jest taki sam jak w książce na stronie 278 z


Niestety w takich przypadkach , uwierz mi, ZAWSZE się to mści .... to nie umieszczanie swojego schematu ... i potem szukaj wiatru w polu

Gdybyś sam się pokusił o dokładne rozrysowanie tego co zmajstrowałeś to być może sam byś dostrzegł babola .... albo jakąś fotkę tej stykówki byś podesłał .... bo zwykle tu drzemie pogrzebany pies - ale początkujący zwykle uważają że jest inaczej :(

_________________
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: 14 lip 2013, o 14:57 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

To dziwne. Ratuje tylko zmiana uC na inny. Hmm albo włączony jtag jest przyczyną tylko nie kojarzę na jakich on porcie jest w atmega8.

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2013, o 15:37 
Offline
Użytkownik

Dołączył(a): 03 mar 2013
Posty: 41
Pomógł: 0

Zamieszczam zdjęcia stykówki: https://www.dropbox.com/sh/1fizgykzuy7jaqy/VMzhkRYhaU

Obrazek

Próbowałem już z inną atmega ;(

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

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2013, o 15:43 
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

Janadamis napisał(a):
Hmm albo włączony jtag jest przyczyną tylko nie kojarzę na jakich on porcie jest w atmega8.


Z tego co pamiętam to w ATmedze 8 nie ma JTAGa. ;-)

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2013, o 16:05 
Offline
Moderator
Avatar użytkownika

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

dawidn47 napisał(a):
Próbowałem już z inną atmega ;(


No ja się nie dziwię - skoro kolega nawet nie doczytał jak stykówka działa :( ... no sorki .... ale żeby nie dać prockowi zasilania na VCC i GND ??? toż u ciebie tylko kodki są przyczepione do tych nóg ? Kolego - weź sobie obejrzyj ten poradnik - i zobacz jak się łączy procka na stykówce bo normalnie ... eeeeeeś ;)

http://mirekk36.blogspot.com/2012/12/av ... aczac.html

tylko mi nie mów że za długi poradnik

_________________
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: 14 lip 2013, o 16:19 
Offline
Moderator
Avatar użytkownika

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

GwynBleidD napisał(a):
Pamiętaj, na stykówce sprawdzasz połączenia 3x więcej


heheh ja bym powiedział że 136x więcej i to za każdym razem gdy się coś zmienia :( - niestety ... a do tego jeszcze jak się stosuje kable ze skrętki, które mają za małą średnicę i ledwo siedzą - można powiedzieć że "DYNDAJĄ" sobie w tych otworach i raz stykają a raz nie

_________________
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: 14 lip 2013, o 16:28 
Offline
Użytkownik

Dołączył(a): 03 mar 2013
Posty: 41
Pomógł: 0

Cytuj:
No ja się nie dziwię - skoro kolega nawet nie doczytał jak stykówka działa ... no sorki .... ale żeby nie dać prockowi zasilania na VCC i GND ??? toż u ciebie tylko kodki są przyczepione do tych nóg ? Kolego - weź sobie obejrzyj ten poradnik - i zobacz jak się łączy procka na stykówce bo normalnie ... eeeeeeś


Jeśli chodzi o wpadkę z VCC i GND to zapomniałem tego połączyć po przełożeniu wszystkiego na inna płytkę. Prawidłowe połączenie jednak nie pomogło.

------------------------ [ Dodano po: 12 minutach ]

GwynBleidD napisał(a):
Po 3cie: na moje oko wygląda, jakby dziurka w którą wpinasz sygnał INT przy procesorze (niebieski przewód) była trochę rozepchana już i może nie mieć styku...


Sprawdzałem miernikiem, przykładałem końcówki do wyprowadżeń (nóżek) układu i połączenie jest.

------------------------ [ Dodano po: 17 minutach ]

GwynBleidD napisał(a):
przy okazji sprawdź, czy na pewno z drugiej strony masz zasilanie (na szynie stykówki od strony tych portów), czy przypadkiem te kabelki nie przestały stykać.


Jest zasilanie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2013, o 19:14 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

A czy w ogule jakiś inny program działa na uC?? Napisz program który będzie na wszystkich pinach procesora również na tym int aby były wejściami i pociągnięte do vcc bez ustawiania int itp. To niemożliwe że nie działa.
A z czego zasilasz uC?? Sprawdź multimetrem na pinach procesora vcc ile wynosi. Musisz robić jakiegoś babola np na zasilaniu czy programowaniu. Może zmień przewody na inne.

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2013, o 20:00 
Offline
Użytkownik

Dołączył(a): 03 mar 2013
Posty: 41
Pomógł: 0

Janadamis napisał(a):
A z czego zasilasz uC?? Sprawdź multimetrem na pinach procesora vcc ile wynosi.


Na pinach procesora jest napięcie 4.98 V. Zasilam układ z programatora usb asp ale próbowałem też z innych źródeł : zasilacz stabilizowany, atx, i jakaś przetwornica na lm2596s. Zaraz napisze ten program testowy i dam znać.

------------------------ [ Dodano po: 39 minutach ]

Taki program działa jak należy, konfiguracja płytki stykowej ta sama.

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: 14 lip 2013, o 21:32 
Offline
Użytkownik

Dołączył(a): 03 mar 2013
Posty: 41
Pomógł: 0

Po drugim dniu walki program działa jak należy... Użyłem po prostu INT1 na porcie PD3, zadziałało od pierwszej kompilacji. Jednak nie zadowala mnie to w pełni. Jeśli ktoś ma pomysł dlaczego nie działa na porcie PD2 to prosiłbym dać znać bo nie da mi to spokoju jak tego nie wyjaśnię ;) .

Dziękuje wszystkim którzy odpowiedzieli na moje pytanie.

------------------------ [ Dodano po: 19 minutach ]

A to zaskoczenie... program z wykorzystaniem INT0 działa po wywaleniu obsługi uart. Jak wiemy porty RXD i TXD są na nóżkach PD0 i PD1, co to ma wspólnego z PD2 ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2013, o 21:59 
Offline
Moderator
Avatar użytkownika

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

dawidn47 napisał(a):
Jak wiemy porty RXD i TXD są na nóżkach PD0 i PD1, co to ma wspólnego z PD2 ?


To że coś pomieszałeś pewnie w kodzie ;)

_________________
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: 14 lip 2013, o 22:27 
Offline
Użytkownik

Dołączył(a): 03 mar 2013
Posty: 41
Pomógł: 0

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


Program z wykorzystaniem INT0 działa po zakomentowaniu wszystkiego związanego z UART. Działa bez rezystora 10k, reszta jak na zdjęciach.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2013, o 00:08 
Offline
Moderator
Avatar użytkownika

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

no no a ciekawe czy przypadkiem sobie w biblitece UART nie odkomentowałeś jednej linii odpowiedzialnej za włączenie transmisji RS485, gdzie akurat do sterowania przykładowo używany jest "nomen-omen" jaki pin ? PD2

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


więc jeśli nie używasz RS485 to zakomentuj to - a jeśli używasz to zmień pin na inny do sterowania kierunkiem przepływu


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: 15 lip 2013, o 01:27 
Offline
Użytkownik

Dołączył(a): 03 mar 2013
Posty: 41
Pomógł: 0

mirekk36 napisał(a):
no no a ciekawe czy przypadkiem sobie w biblitece UART nie odkomentowałeś jednej linii odpowiedzialnej za włączenie transmisji RS485, gdzie akurat do sterowania przykładowo używany jest "nomen-omen" jaki pin ? PD2

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


więc jeśli nie używasz RS485 to zakomentuj to - a jeśli używasz to zmień pin na inny do sterowania kierunkiem przepływu



Sukces !! Zakomentowanie pomogło, program działa jak należy z wykorzystaniem INT0. Dziękuje za pomoc. Miałem własnie poprzeglądać te biblioteki ale nawet nie wiedziałbym co tam zmienić. Biblioteka pochodzi prosto z DVD i nie umieszczałem tam komentarzy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sie 2013, o 20:11 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Hmm ja mam podobny problem z projektem 08_TWI. cały czas na wyświetlaczu mam napis start... czyli brakuje przerwania na iNT0. Posiadam płytkę ATB GLS. Zwarcie nóżki PD2 z GND nie pomaga i na wyświetlaczu nie pojawia się nic innego. na pokładzie Atmega32 taktowana 8 Mhz wewnętrznie.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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