RTV forum PL | NewsGroups PL

Błędy w komunikacji UART Atmega8 z PC: zakłócenia w przesyłanych danych

Atmega <> PC błędy w komunikacji po porcie szeregowym

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Błędy w komunikacji UART Atmega8 z PC: zakłócenia w przesyłanych danych

scx
Guest

Sun Apr 22, 2007 5:10 pm   



Witajcie

Od rana męczę UARTa w atmedze8. Doszedłem już do tego, że coś działa :]
Mega robi za echo. To co jej się wyśle przysyła z powrotem, dodatkowo
wyświetla otrzymany kod na 8 ledach.
Kody odberane przez atmege są poprawne, na diodkach wyświetla się co
trzeba. Natomiast zwracane z powrotem wartosci są dziwnie zakłócone...
Nie wierzyłem HyperTerminalowi, więc napisałem własny programik, sterujący
każdym bitem w ramce. I w kierunku Atmegi wszystko jest OK, natomiast z
powrotem pojawia się na najbardziej znaczącej pozycji jedynka, której być
nie powinno, i całość się przesuwa o 1 pozycję. Czyli:
10101010 (wysłane z kompa, prawidłowo odebrane i wyświetlone na ledach)
11010101 (odebrane przez kompa).

albo:
00000000 (wysłane z kompa)
10000000 (obebrane na kompie...)

Co to może być?

Szczegóły techniczne:
atmega8-16 @ 14,74MHz
4800 baud, 7 bit, brak kontroli parzystości, 1 bit sopu


Załączam program, może coś wyłapiecie:

..include "m8def.inc"
..def temp =R16
..org 0x00
rjmp reset
..org 0x0b
rjmp dane ;usart rx complete
reset:
;konfiguracja coma
ldi temp,191 ;4800 baud (parametr wyciagniety z datasheeta)
out UBRRL,temp
clr temp
out UBRRH,temp

clr temp
out UCSRA,temp

ldi temp, (1<<TXEN)|(1<<RXCIE)|(1<<RXEN)
out UCSRB,temp ;włączenie tx i rx, przerwania

ldi temp,(1<<UCSZ1)|(1<<UCSZ0)|(1<<URSEL)
out UCSRC,temp ;8 bit

ldi temp,0b00111111
out DDRC,temp
ldi temp,0b00000011
out DDRB,temp ;nie mam calego wolnego portu na diody wic taka rzezbe
odstawilem
sei

main:
rjmp main


dane:

in temp,UDR
c: nop
sbis UCSRA,UDRE
rjmp c ;ta petelka pilnuje, zeby nadajnik byl gotowy
out UDR,temp
com temp ;to zeby sie ladnie na diodkach wyswietlalo
out PORTC,temp
lsr temp
lsr temp
lsr temp
lsr temp
lsr temp
lsr temp
out PORTB,temp

reti

Jarosław Grolik
Guest

Sun Apr 22, 2007 5:47 pm   



Użytkownik "scx" <es-ce-iks-7@wu-pe.pe-el> napisał w wiadomości
news:143mx23iyfshz.jdkmwku3ch9y.dlg@40tude.net...

Quote:
00000000 (wysłane z kompa)
10000000 (obebrane na kompie...)

Co to może być?

Szczegóły techniczne:
atmega8-16 @ 14,74MHz
4800 baud, 7 bit, brak kontroli parzystości, 1 bit sopu

Hmm :-)

A policzyłeś sobie ile bitów twój ATmega wysyła ? Chyba 7 różni się od 8 ?

Pozdrawiam

Jarek Grolik

pawel
Guest

Sun Apr 22, 2007 6:24 pm   



Witam.
Mialem podobny problem z atthiny2313.
Jeżeli nie uzywasz kwarca, a wewnętrzny generator rc to sprawdź napięcie
zasilania.
Dodaj jakiś elektrolit przed stabilizatorem.
Ostatecznie użyj kwarca.

Pozdrawiam
Paweł

H.D.
Guest

Sun Apr 22, 2007 7:41 pm   



Użytkownik "Jarosław Grolik" napisał
w wiadomości news:f0g3rl$3ec$1@nemesis.news.tpi.pl...

Quote:
00000000 (wysłane z kompa)
10000000 (obebrane na kompie...)

Co to może być?

Szczegóły techniczne:
atmega8-16 @ 14,74MHz
4800 baud, 7 bit, brak kontroli parzystości, 1 bit sopu

wyglada jak bit parzystosci zawsze 1 lub ustawianie nieparzystosci.

H.D.

Bogdan Gutknecht
Guest

Mon Apr 23, 2007 6:33 am   



Quote:
Szczegóły techniczne:
atmega8-16 @ 14,74MHz
4800 baud, 7 bit, brak kontroli parzystości, 1 bit sopu



Ustaw, żeby procesor wysyłał 8 bitów - inaczej po siedmiu wystawiana jest
jedynka.

Piotrek Sz.
Guest

Mon Apr 23, 2007 3:41 pm   



Jarosław Grolik <grolikNO_SPAM@chemia.uj.edu.pl> napisał(a):

Quote:

Użytkownik "scx" <es-ce-iks-7@wu-pe.pe-el> napisał w wiadomości
news:143mx23iyfshz.jdkmwku3ch9y.dlg@40tude.net...

00000000 (wysłane z kompa)
10000000 (obebrane na kompie...)

Co to może być?

Szczegóły techniczne:
atmega8-16 @ 14,74MHz
4800 baud, 7 bit, brak kontroli parzystości, 1 bit sopu

Hmm :-)

A policzyłeś sobie ile bitów twój ATmega wysyła ? Chyba 7 różni się od 8 ?

Pozdrawiam

Jarek Grolik



A o ustawieniu wskaźnika stosu , też zapomniałeś ? ;)

Piotrek


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

elektroda NewsGroups Forum Index - Elektronika Polska - Błędy w komunikacji UART Atmega8 z PC: zakłócenia w przesyłanych danych

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map