Trudności z wysyłaniem danych przez UART w AVR - kod nie działa, co poprawić?

AVR UART - problem





Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl>
Subject: AVR UART - problem
Date: Tue, 30 Apr 2002 00:08:54 +0200


Witam!
Czy ktos moze mi powiedziec, dlaczego kod taki:

LCD R16,'k';
OUT UDR,TEMP;
PETLA:
SBIS USR,UDRE;
RJMP PETLA;
LDI R16,'l';
OUT UDR,TEMP;
PETLA1:
SBIS USR,UDRE;
RJMP PETLA1;

nie dziala? Siedze juz nad tym caly dzien i nic mi nie przychodzi do glowy.

Z gory dzieki,
Jacek Meyerhold



Poprzedni Następny
Wiadomość
Spis treści
From: "Bartosz Sarama" <quasimod_at_nospam_poczta.onet.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 00:42:10 +0200


Użytkownik "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> napisał w wiadomości
news:aakgje$ngo$1_at_nospam_news.tpi.pl...
Witam!
Czy ktos moze mi powiedziec, dlaczego kod taki:

[...]
SBIS USR,UDRE;
[...]
SBIS USR,UDRE;

nie dziala? Siedze juz nad tym caly dzien i nic mi nie przychodzi do
glowy.

Z gory dzieki,
Jacek Meyerhold


SBIS odwoluje sie do ukladow I/O, a USR to rejestr
Powinno byc:

SBRS USR, .... :))

Mam nadzieje, ze pomoglem :)

Pozdrawiam
Bartosz Sarama



Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 11:55:44 +0200



"Bartosz Sarama" <quasimod_at_nospam_poczta.onet.pl> wrote in message
news:aaki82$n0$1_at_nospam_absinth.dialog.net.pl...
Użytkownik "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> napisał w
wiadomości
news:aakgje$ngo$1_at_nospam_news.tpi.pl...
Witam!
Czy ktos moze mi powiedziec, dlaczego kod taki:

[...]
SBIS USR,UDRE;
[...]
SBIS USR,UDRE;

nie dziala? Siedze juz nad tym caly dzien i nic mi nie przychodzi do
glowy.

Z gory dzieki,
Jacek Meyerhold


SBIS odwoluje sie do ukladow I/O, a USR to rejestr
Powinno byc:

SBRS USR, .... :))

Tak akurat ! Ten rejestr ma adres 0xA i jest w nizszej czesci (0-31) wiec
SBIS jest prawidlowe.

Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 12:27:42 +0200


Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
news:aalpii$b7h$1_at_nospam_news.tpi.pl...
"Bartosz Sarama" <quasimod_at_nospam_poczta.onet.pl> wrote in message
news:aaki82$n0$1_at_nospam_absinth.dialog.net.pl...
Użytkownik "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> napisał w
wiadomości
SBIS odwoluje sie do ukladow I/O, a USR to rejestr
Powinno byc:

SBRS USR, .... :))

Tak akurat ! Ten rejestr ma adres 0xA i jest w nizszej czesci (0-31) wiec
SBIS jest prawidlowe.
=>Tez mi sie wydaje, ze jest prawidlowe. Inaczej chyba by assembler
krzyczal, a kompiluje sie bez problemow.

Pozdrawiam,
Jacek.



Poprzedni Następny
Wiadomość
Spis treści
From: "Bartosz Sarama" <quasimod_at_nospam_poczta.onet.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 00:58:51 +0200


To znowu ja :)

LCD R16,'k';
^^^^^^ to mialo byc chyba ldi??

OUT UDR,TEMP;
out dziala tylko z rejestrem (zamiast temp), chyba, ze temp to ukryty
rejestr

Z tym sbis to sie troche wyzej pospieszylem, bo dziala dobrze :)

nie dziala?
A co konkretnie i jak powinno dzialac??


Z gory dzieki,
Jacek Meyerhold


Pozdrawiam
Bartosz Sarama



Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 12:32:36 +0200


Użytkownik "Bartosz Sarama" <quasimod_at_nospam_poczta.onet.pl> napisał w wiadomości
news:aakj7b$16g$1_at_nospam_absinth.dialog.net.pl...
To znowu ja :)

LCD R16,'k';
^^^^^^ to mialo byc chyba ldi??
=>Zgadza sie. Wczoraj bylem wsciekly i spiacy.

OUT UDR,TEMP;
out dziala tylko z rejestrem (zamiast temp), chyba, ze temp to ukryty
rejestr
=>TEMP to u mnie zawsze R16.

Z tym sbis to sie troche wyzej pospieszylem, bo dziala dobrze :)

nie dziala?
A co konkretnie i jak powinno dzialac??
=>Chodzi o to, zeby wpisywac znaki do wysylania jeden po drugim, ale zeby
nie nadpisac ich w buforze. UART mam skonfigurowany na predkosc 38400, znaki
8-bitowe, wlaczony nadajnik i odbiornik, wlaczone przerwanie RX_Complete.
Dodam, ze jak wstawie zamiast tej petli na USR,UDRE odpowiednio dluga petle
to dziala. Procek AT90S8515-8PI data:0205.

Pozdrawiam,
Jacek.



Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 11:54:27 +0200



"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:aakgje$ngo$1_at_nospam_news.tpi.pl...
Witam!
Czy ktos moze mi powiedziec, dlaczego kod taki:

LCD R16,'k';
OUT UDR,TEMP;
PETLA:
SBIS USR,UDRE;
RJMP PETLA;
LDI R16,'l';
OUT UDR,TEMP;
PETLA1:
SBIS USR,UDRE;
RJMP PETLA1;

Tam ma byc LDI w pierwszej linijce !

Czy TEMP zadeklarowales sobie ? .def TEMP =r16
Czy zezwoliles na nadawanie uartem ? I skonfigurowles UART ?

.def TEMP =r16

ldi TEMP,7 ; (zalezy jaki kwarc i jaka predkosc)
out UBRR,TEMP ; PREDKOSC

ldi TEMP,0b00001000
out UCR,TEMP

; 7 RXCIE Przerwanie od ODBIORU bit7
; 6 TXCIE Przerwanie od NADANIA ZNAKU bit6
; 5 UDRIE Przerwanie od PUSTY BUFOR
; 4 RXEN WLACZANIE - Zezwolenie ODBIORU
; 3 TXEN Zezwolenie na nadawanie
; 2 CHR9 9-ty bit DANYCH ZALACZ
; 1 RXB8 9 bit RX
; 0 TXB8 9 bit TX

Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 12:35:41 +0200


Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
news:aalpg5$ab7$1_at_nospam_news.tpi.pl...
"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:aakgje$ngo$1_at_nospam_news.tpi.pl...
Witam!
Czy ktos moze mi powiedziec, dlaczego kod taki:
LCD R16,'k';
OUT UDR,TEMP;
PETLA:
SBIS USR,UDRE;
RJMP PETLA;
LDI R16,'l';
OUT UDR,TEMP;
PETLA1:
SBIS USR,UDRE;
RJMP PETLA1;

Tam ma byc LDI w pierwszej linijce !
=>Zgadza sie. Sorry.

Czy TEMP zadeklarowales sobie ? .def TEMP =r16
=>Tak TEMP=R16;

Czy zezwoliles na nadawanie uartem? I skonfigurowles UART ?
=>Tak, jak wstawie petle opozniajaca na rejestrach zamiast sprawdzania bitu
UDRE, to jest OK.

.def TEMP =r16

ldi TEMP,7 ; (zalezy jaki kwarc i jaka predkosc)
out UBRR,TEMP ; PREDKOSC
=>Mam 38400b.

ldi TEMP,0b00001000
out UCR,TEMP

; 7 RXCIE Przerwanie od ODBIORU bit7
; 6 TXCIE Przerwanie od NADANIA ZNAKU bit6
; 5 UDRIE Przerwanie od PUSTY BUFOR
; 4 RXEN WLACZANIE - Zezwolenie ODBIORU
; 3 TXEN Zezwolenie na nadawanie
; 2 CHR9 9-ty bit DANYCH ZALACZ
; 1 RXB8 9 bit RX
; 0 TXB8 9 bit TX
=>Tu mam 0b11011000;

Pozdrawiam,
Jacek Meyerhold



Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 13:32:21 +0200



"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:aalsvl$hg0$3_at_nospam_news.tpi.pl...
Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości

; 7 RXCIE Przerwanie od ODBIORU bit7
; 6 TXCIE Przerwanie od NADANIA ZNAKU bit6
; 5 UDRIE Przerwanie od PUSTY BUFOR
; 4 RXEN WLACZANIE - Zezwolenie ODBIORU
; 3 TXEN Zezwolenie na nadawanie
; 2 CHR9 9-ty bit DANYCH ZALACZ
; 1 RXB8 9 bit RX
; 0 TXB8 9 bit TX
=>Tu mam 0b11011000;

A zapytam tak, po co ci przerwanie TXCIE jesli robisz pooling rejestru
????????
czy w przerwaniu zapamietujesz na chwile SREG ? Czy na stos leci TEMP ?
Pokaz no ten kod w calosci w ogole :-)

Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 23:27:36 +0200


Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
news:aalv7n$dg8$1_at_nospam_news.tpi.pl...
"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:aalsvl$hg0$3_at_nospam_news.tpi.pl...
Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
A zapytam tak, po co ci przerwanie TXCIE jesli robisz pooling rejestru
????????
=>Hm, bo probowalem juz roznych mozliwosci i tak zostalo. Ale teraz zaczalem
pisac kod od poczatku. Prosze.
EXT_INT0:
PUSH TEMP;
LDI TEMP,'a';
OUT UDR,TEMP;
EXT_INT0_NEXT:
SBIS USR,UDRE;
RJMP EXT_INT0_NEXT;
LDI TEMP,'b';
OUT UDR,TEMP;
EXT_INT0_NEXT1:
SBIS USR,UDRE;
RJMP EXT_INT0_NEXT1;
LDI TEMP,'c';
OUT UDR,TEMP;
EXT_INT0_NEXT2:
SBIS USR,UDRE;
RJMP EXT_INT0_NEXT2;
POP TEMP;
RETI;
gdzie TEMP=R16;

czy w przerwaniu zapamietujesz na chwile SREG?
=>Nie a po co?

Czy na stos leci TEMP ?
=>Jak widac.

Pokaz no ten kod w calosci w ogole :-)
=>Oj nie wiem, czy bys chcial. Ma juz prawie 2kB kodu wynikowego, a nie
dziala mi tylko ten kawalek.

Pozdrawiam,
Jacek Meyerhold



Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 13:36:38 +0200



"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:aalsvl$hg0$3_at_nospam_news.tpi.pl...
Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
Czy TEMP zadeklarowales sobie ? .def TEMP =r16
=>Tak TEMP=R16;

Ja cie przepraszam ale od kiedy deklaruje sie to w postaci TEMP=r16 ??????
Przeciez assembler tego nie lyknie, przynajmniej avrstudio.
W czym ty to piszesz ?

Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl>
Subject: Re: AVR UART - problem
Date: Tue, 30 Apr 2002 23:29:28 +0200


Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
news:aalvfn$g8c$1_at_nospam_news.tpi.pl...
"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:aalsvl$hg0$3_at_nospam_news.tpi.pl...
Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
Czy TEMP zadeklarowales sobie ? .def TEMP =r16
=>Tak TEMP=R16;

Ja cie przepraszam ale od kiedy deklaruje sie to w postaci TEMP=r16 ??????
Przeciez assembler tego nie lyknie, przynajmniej avrstudio.
W czym ty to piszesz ?
=>Zgadza sie, masz racje, ale to defniuje w takiej postaci jak napisales na
poczatku pliku, a nie wklejalem calego.

Pozdrawiam,
Jacek Meyerhold