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



Teraz jest 3 sty 2026, o 10:50


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 17 lis 2013, o 19:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2011
Posty: 266
Lokalizacja: Szczecin
Pomógł: 9

Witam,

Mam taki problem z którym walczę od rana i nie mogę sobie poradzić. Mam ATMega644pa mam odpalony UART0 i wszystko działa OK. Wszystko odpalone na Mirkowych bibliotekach. Chce odpalić UART1 i nie udaje mi się. No może po części się udało ale nie do końca.

Działają mi funkcje wysyłające znaki z uP do PC np:
uart_puts1("UART 1-> uart_puts1-> co 250ms\r\n");


Problem pojawił się z odbiorem znaków PC->ATMega644PA

Dla UART0, wszystko idealnie działa! Nadawanie oraz odbieranie stringów, czyli wina w UART1, leży gdzieś po mojej stronie:)

Nie chce się odpalić przerwanie odbioru znaku...?

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


Inicjalizacja UART0 oraz UART1, tu popełniam błąd???

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


Nie odpala mi się przerwanie od UART1, testuję to za pomocą diody. Przychodzi string dida zminia stan na przeciwny. Na tej podstawie wiem, że przerwanie nie jest odpalane:
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 dlaczego nie odpala się przerwanie?

_________________
www.gryfsmart.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2013, o 21:23 
Offline
Użytkownik

Dołączył(a): 10 paź 2012
Posty: 123
Pomógł: 10

Witam.
Tak na szybko to inicjalizacja wygląda ok. Używam dwóch uartów w tej medze i nie mam z tym problemów. Może masz problem z fizycznym połączeniem RX-a w procku/przejściówce. Jeśli nadawanie Ci działa to zewrzyj TX1(PD3) z RX1 (PD2) i zobaczysz czy dostaniesz echo.
Pozdrawiam
Jarek


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2013, o 21:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2011
Posty: 266
Lokalizacja: Szczecin
Pomógł: 9

Testy dokonuje w ten sposób uP->Max232->PC
Na płytce mam 2 maxy. Jeden i drugi testowałem na UART0, czyli maxy dobrze działają. Mam taką możliwość bo są rozłączane za pomocą "dzamperków". Jedyne co może być nie tak do przylutowanie nóżki W ATMe ga644. Zaraz to sprawdzę. Hmmm... tak się zastanawiam może zjarałem UART1? :)
Schemat połączeń:
Obrazek

------------------------ [ Dodano po: 4 minutach ]

...echo jest :)

_________________
www.gryfsmart.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2013, o 21:45 
Offline
Moderator
Avatar użytkownika

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

rzeczywiście konfiguracja UART1 wygląda tak patrząc na szybko że jest ok ... może też warto sprawdzić na innym procku czy coś się nie przydarzyło na tej nóżce RX ... chociaż zwykle tak bywa - że wszystko jest w porządku z prockiem ale może jakiś chochlik siedzi w połączeniach (jakiś zimny lut czy co?) ... możesz samą diodę LED przyłożyć do nogi proca i zobaczyć czy będzie migać żeby wyeliminować czy nie ma gdzieś przerwy bo rzeczywiście przerwanie powinno normalnie działać


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: 17 lis 2013, o 21:47 
Offline
Użytkownik

Dołączył(a): 10 paź 2012
Posty: 123
Pomógł: 10

IUVOit napisał(a):
...echo jest :)


No to już wiesz że UART1 działa i jest dobrze skonfigurowany:) Teraz szukaj poza megą czyli posprawdzaj wszystkie połączenia między uC a maxem i miedzy maxem a PC. Wyjścia max-a od uart1 też możesz zewrzeć (tz z rx) na krótko i zrobić ten sam test to będziesz wiedział gdzie dalej szukać czy między maxem a uC czy między maxem a PC.
Pozdrawiam
Jarek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2013, o 21:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2011
Posty: 266
Lokalizacja: Szczecin
Pomógł: 9

Z echem źle powiedziałem. Echo testowałem na max'sie Zwarłem nóźki MAX232 od strony 5V. Mam zlutowane 2 płytki i na dwóch płytkach mam taki sam efekt, że przerwanie nie może się odpalić przy UART1.

Procesor mam SMD a nie mam za dużego doświadczenia w lutowaniu SMD więc może tu popałniam błąd. Zaraz posprawdzam luty i przyłoże oscyloskop do nóżki uP i zobacze czy dochodzą sygnały.

Zabieram się za sprawdzanie :) Za 30 min dam odpowiedz :)

_________________
www.gryfsmart.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2013, o 22:24 
Offline
Użytkownik

Dołączył(a): 10 paź 2012
Posty: 123
Pomógł: 10

Możesz więc zewrzeć przy procku tx z rx i jak będzie Ci ta dioda mrugać znaczy że z uartem1 wszystko ok.
Pozdrawiam
Jarek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2013, o 23:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2011
Posty: 266
Lokalizacja: Szczecin
Pomógł: 9

DZIAŁA!!! Koledzy jark i Mirek mieliście racje, że program był OK, błąd leżał po stronie płytki. Zamówiłem sobie 6 płytek na próbę i w każdej był ten sam błąd:/ Przelotka od masy była na tyle szeroka, że dotykała do RX1. RX1 było cały czas zwarte do masy. Na odcinku uP->Max232 nie szukałem błędu. To znaczy na początku "przedzwoniłem" ścieżkę i wskazywało, że jest OK- było przejście. Dopiero jak mi na to uwagę zwróciliścietu może być problem, użyłem oscyloskopu, zobaczyłem, że ta ścieżka jest cały czas do masy zwarta i nóżeki uP (RX1) nic nie dochodzi. Cały czas był potencjał 0V :)

Teraz nieszczęsną przelotkę muszę odsunąć bardziej od ścieżki i mogę zamawiać płytkę:) Dziwne, że Eagle na to mi uwagi nie zwrócił Hmmm albo ja nie posłuchałem Eagla :D

Wielkie dzięki za pomoc!!!

_________________
www.gryfsmart.pl



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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