Trudności z wysyłaniem danych przez UART w AVR - kod nie działa, co poprawić?
AVR UART - problem
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
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
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
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.
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
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.
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
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
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
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
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
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