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



Teraz jest 28 paź 2024, o 14:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
 Tytuł: USART
PostNapisane: 18 kwi 2012, o 11:12 
Offline
Użytkownik

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

Witam mam problem z przesyłem danych za pomocą rs232 (plytka atb 1.03). Korzystając z USART_Transmit() mogłem bez problemu wysyłać pojedyncze znaki. Gdy korzystam pozniej z funkcji wysylajacej cale stringi lub cyfry (uart_putint(), uart_puts() nie odbieram zadnych danych, a dioda Tx nie zapala sie, oto kod:
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  
 Tytuł: Re: USART
PostNapisane: 18 kwi 2012, o 12:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

I przy kompilacji nie masz błędów ? Aż dziwne ............

uint8 oscyl=OSCCAL; <-- to raczej nie powinno być tak
I nie masz jednej funcji do której się odwołujesz oraz wcieło ci DUUUŻOOOO definicji zmiennych

I na razie dalej nie ma co wnikać ponieważ skopiowałeś funkcję które wydało ci się że są potrzebne bez zrozumienia o co w nich chodzi :( ( i kompilator sie drze jak diabli )
Przypatrz się orginałowi jak działa postaraj się zrozumieć jak działają i dopiero wtedy kopiuj



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: USART
PostNapisane: 18 kwi 2012, o 14:06 
Offline
Użytkownik

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

Przez przypadek wkleiłem kod z innego pliku niż zamierzałem, przez co były błędne definicje zmiennych i funkcji.
Wrzucam aktualny kod, kompiluje się ale nie wysyła
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  
 Tytuł: Re: USART
PostNapisane: 18 kwi 2012, o 14:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Szanowny kolego wasu znowu kopiuj & wklej, tylko tym razem troche lepiej wyszło no i przecież kompilator się za mocno nie pluje przecie jeden warning to nie problem, tylko jestem ciekach jak ci się te liczby wyświetlą na terminalu ?

Skoro używasz tego: UCSR0B |= (1<<UDRIE0);

to miło by było gdyby TO wiedziało co ma zrobić . :(

A tak fajnie kolega mirekk opisał wszystko w rozdziale 5.8.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: USART
PostNapisane: 19 kwi 2012, o 09:30 
Offline
Użytkownik

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

No tak, zapewne zapomnialem obslugi przerwania. Z tym ze realizuje ksiazke Mirka strona po stronie i w cwiczeniu z kalibracja, nie ma o tym slowa ze nalezy taka obsluge przerwania napisac, dopiero w rozdziale kolejnym 5.8.2 jest poddrozdzial poswiecony przerwania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: USART
PostNapisane: 19 kwi 2012, o 09:57 
Offline
Moderator
Avatar użytkownika

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

No ale ja zapytam tak z ciekawości - dlaczego kolega nie odpali sobie przykładu z DVD ? Przecież on działa - a potem można go modyfikować powoli po swojemu przecież.

Tymczasem kolega tak namieszał - skąd się wzięło np takie coś:

Kod:
USART_Init(51);


zachodzę w głowę i nie mogę się nadziwić :(

_________________
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  
 Tytuł: Re: USART
PostNapisane: 19 kwi 2012, o 14:23 
Offline
Użytkownik

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

Odczytalem UBRR dla predkosci 9600, powininem zrobic USART_Init(9600)?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: USART
PostNapisane: 19 kwi 2012, o 16:48 
Offline
Moderator
Avatar użytkownika

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

wasu napisał(a):
Odczytalem UBRR dla predkosci 9600, powininem zrobic USART_Init(9600)?


Zadałem przed chwilą pytanie i nie raczyłeś odpowiedzieć :(

jeśli tak będziemy mieli toczyć dyskusję że ja swoje a ty swoje to chyba się nie dogadamy :(

Jeszcze raz zapytam czy odpalałeś oryginalny kod z płyty DVD ? Tam masz CAŁKIEM inaczej zrobioną inicjalizację UART i może zastanów się jak i dlaczego ? zresztą to samo opisane jest także w książce .....

no chyba że ty zadajesz pytania innej osobie niż ja ? bo tak coś czuję jakbym miał rozdwojenie jaźni ? ;) ja swoje a ty swoje

_________________
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  
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 11 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