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



Teraz jest 3 lip 2026, o 17:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 17 wrz 2014, o 14:21 
Offline
Nowy

Dołączył(a): 28 mar 2014
Posty: 5
Zbananowany użytkownik

Pomógł: 0

Witam. Mam problem z nawiązaniem komunikacji z uC przez RS-232 poprzez przejściówkę RS-232 TTL USB.
Wykorzystywana biblioteka do komunikacji to MKUART.
Po napisaniu prostego programu, który ma za zadanie wysyłać w pętli napis "hello" na rs-232 i migać diodą LED zawiesza się po kilku sekundach, ale po zakomentowaniu funkcji do wysyłania stringa na rs (uart_puts) oraz inicjacji połączenia rs-232 (USART_Init) wszystko jest w porządku a procesor się nie zawiesza. Procesor jest nowy, w fuse bitach zmieniony tylko CKDIV8. Dodam jeszcze, że na drugim uC Atmega 328P-PU uart działa prawidłowo.

Oto kod programu:
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: 17 wrz 2014, o 14:33 
Offline
Moderator
Avatar użytkownika

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

a jaką prędkość baudrate masz ustawioną ? przy taktowaniu procka 8MHz z wewn. oscylatora ?

czytałeś to ?

http://mirekk36.blogspot.com/2013/01/rs ... trick.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: 17 wrz 2014, o 14:35 
Offline
Nowy

Dołączył(a): 28 mar 2014
Posty: 5
Zbananowany użytkownik

Pomógł: 0

Owszem, że czytałem.
Baudrate testowany był na dwóch prędkościach 9600 i 19200 bez żadnego efektu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 wrz 2014, o 14:40 
Offline
Moderator
Avatar użytkownika

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

maxil napisał(a):
Baudrate testowany był na dwóch prędkościach 9600 i 19200 bez żadnego efektu.


próbowałeś z kwarcem przy procku ?

_________________
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 wrz 2014, o 14:41 
Offline
Nowy

Dołączył(a): 28 mar 2014
Posty: 5
Zbananowany użytkownik

Pomógł: 0

Właśnie przetestowałem przed odświeżeniem.
Zastosowałem 11.0592 z kondensatorami 22pF z identycznym skutkiem - zawieszenie procesora



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 wrz 2014, o 14:42 
Offline
Moderator
Avatar użytkownika

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

ale zaraz zaraz .... spokojnie .....

a biblioteka jak ? jest na przerwaniach z buforami cyklicznymi ? ... jeśli tak? to gdzie włączenie globalne przerwań ? ... tyle że bez włączenia - to ANI razu nie powinno się wyświetlić

więc pokaż fragment pliku *.h od biblioteki UART jak masz to ustawione w ogóle ?

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

maxil napisał(a):
z identycznym skutkiem - zawieszenie procesora


poza tym co to znaczy zawieszenie procesora ?

a jak masz diodę LED to nie możesz sprawdzić DOKŁADNIE gdzie się zawiesza ? ;) no przecież jak się całkiem zawiesza to jest pikuś żeby to sprawdzić w KTÓRYM DOKŁADNIE miejscu, obejrzyj to KONIECZNIE:

http://mirekk36.blogspot.com/2014/04/pu ... ednej.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: 17 wrz 2014, o 14:48 
Offline
Nowy

Dołączył(a): 28 mar 2014
Posty: 5
Zbananowany użytkownik

Pomógł: 0

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


dokładnie zawiesza się w miejscu gdzie występuje funkcja uart_puts.
po dodaniu sei() w funkcji main żadnych zmian.

coś mi się zdaje, że trafiłem na uszkodzony uC po prostu, skoro na innym działa świetnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 wrz 2014, o 14:58 
Offline
Moderator
Avatar użytkownika

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

maxil napisał(a):
dokładnie zawiesza się w miejscu gdzie występuje funkcja uart_puts.


a rozumiem, że już dalej nie można tą diodą sprawdzić wewnątrz uart_puts() ??? gdyby tylko na tym miało polegać to debugowanie jedną diodą LED to można by w ogóle nie strzępić sobie języka żeby mówić o debugowaniu ;) .... trzeba dotrzeć dalej i tam zobaczyć ... ;)

------------------------ [ Dodano po: kilkunastu sekundach ]

maxil napisał(a):
#define __UBRR F_CPU/16/UART_BAUD-1  // obliczamy UBRR dla U2X=0


no widzisz a piszesz że niby czytałeś ten link co ci podałem tymczasem widać - że NIE czytałeś ...

_________________
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 wrz 2014, o 15:04 
Offline
Nowy

Dołączył(a): 28 mar 2014
Posty: 5
Zbananowany użytkownik

Pomógł: 0

Temat uważam za zamknięty. Mikrokontroler wylądował w koszu. Na innym wszystko jest w porządku.



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 3 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