AVR + rs232 + hyper terminal
Masz problem? Zapytaj na forum elektroda.pl
From: "Krzysztof Skoroniak" <ananas_at_nospam_NospaM.polsl.gliwice.pl>
Subject: AVR + rs232 + hyper terminal
Date: Fri, 18 Jun 2004 13:39:49 +0200
witam
kurcze nie moge sobie poradzic z podpieciem AVR'a do pc'ta
wykorzystujac UART'a
korzystam z WinAVR i oto procedury ktore wykorzystuje:
#include <avr/io.h>
void ioinit (void)
{
unsigned int baud = 71;
UBRRH = (unsigned char) (baud>>8);
UBRRL = (unsigned char) baud;
UCSRB = (1<<RXEN)|(1<<TXEN);
//8bit, 2 bity stopu
UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
}
int main(void)
{
ioinit();
unsigned char data = 0;
while (data<200)
{
while ( !(UCSRA & (1<<UDRE)) ) {};
UDR = data;
data++;
}
return (0);
}
kabel mam podlaczony w nastepujacy sposob:
we wtyczce do pc'ta:
zwarte piny 1(DCD)-4(DTR)-6(DSR)
oraz 7(RTS)-8(CTS)
2(RxD) ------------------------------ TxD w AVRATmega32
3(TxD)------------------------------- RxD w AVRATmega32
5(SGND)---------------------------- GND
wlaczam hyperterminala i albo dostaje jakies bzdury albo w ogole
nic nie dostaje (tak jest w wiekszosci przypadkow)
moze ktos wie co moge robic nie tak bo juz nie mam pomyslow
oczywiscie w hyperterminalu ustawiam transmisje
9600, 8bitow danych, 2 bity stopu, parzystosc - brak,
sterowanie przeplywem - sprzet
jesli ktos zobaczy jakis blad to prosze o jakakolwiek wskazowke
z gory dzieki
Krzysztof
========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai
From: "Krzysztof Skoroniak" <ananas_at_nospam_NospaM.polsl.gliwice.pl>
Subject: Re: AVR + rs232 + hyper terminal
Date: Fri, 18 Jun 2004 13:44:40 +0200
Użytkownik "Krzysztof Skoroniak" <ananas_at_nospam_NospaM.polsl.gliwice.pl> napisał w
wiadomości news:caukam$6pf$1_at_nospam_atlantis.news.tpi.pl...
2(RxD) ------------------------------ TxD w AVRATmega32
3(TxD)------------------------------- RxD w AVRATmega32
5(SGND)---------------------------- GND
oczywiscie zapomnialem zaznaczyc ze miedzy liniamy jest
wpiety max232
========
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mai
From: Michal Baszynski <mbaszyns_at_nospam_ga.ze.ta.pl.>
Subject: Re: AVR + rs232 + hyper terminal
Date: Fri, 18 Jun 2004 14:25:52 +0200
On Fri, 18 Jun 2004 13:39:49 +0200, "Krzysztof Skoroniak"
<ananas_at_nospam_NospaM.polsl.gliwice.pl> wrote:
sterowanie przeplywem - sprzet
ustaw brak
--
Pozdr
Michal
========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai
From: "Krzysztof Skoroniak" <ananas_at_nospam_NospaM.polsl.gliwice.pl>
Subject: Re: AVR + rs232 + hyper terminal
Date: Fri, 18 Jun 2004 16:52:31 +0200
Uzytkownik "Michal Baszynski" <mbaszyns_at_nospam_ga.ze.ta.pl.> napisal w wiadomosci
news:8hn5d0doul4ksq5ea692fn8f8p3lku6ru4_at_nospam_4ax.com...
ustaw brak
ustawialem takze i nic to nie daje :-(
Krzysztof
========
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mai
From: Michal Baszynski <mbaszyns_at_nospam_ga.ze.ta.pl.>
Subject: Re: AVR + rs232 + hyper terminal
Date: Fri, 18 Jun 2004 17:20:56 +0200
On Fri, 18 Jun 2004 13:39:49 +0200, "Krzysztof Skoroniak"
<ananas_at_nospam_NospaM.polsl.gliwice.pl> wrote:
#include <avr/io.h>
void ioinit (void)
{
unsigned int baud = 71;
to jest hex czy dec? ;-)
poza tym grupowa wrozka ma dzis wolne i nie wiemy jaki to procesor i
jaki kwarc masz ;-)
--
Pozdr
Michal
========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai
From: "Krzysztof Skoroniak" <ananas_at_nospam_NospaM.polsl.gliwice.pl>
Subject: Re: AVR + rs232 + hyper terminal
Date: Fri, 18 Jun 2004 17:29:20 +0200
Uzytkownik "Michal Baszynski" <mbaszyns_at_nospam_ga.ze.ta.pl.> napisal w wiadomosci
news:qv16d0dle2n3m884qrvgvp130oatfs5mfr_at_nospam_4ax.com...
On Fri, 18 Jun 2004 13:39:49 +0200, "Krzysztof Skoroniak"
<ananas_at_nospam_NospaM.polsl.gliwice.pl> wrote:
#include <avr/io.h>
void ioinit (void)
{
unsigned int baud = 71;
to jest hex czy dec? ;-)
poza tym grupowa wrozka ma dzis wolne i nie wiemy jaki to procesor i
jaki kwarc masz ;-)
oczywiscie zapomnialem podac:)
ATMega32
kwarc 11059200
a 71 jest oczywiscie zapisane jako dec
ja juz naprawde nie wiem co sprawdzic innego
jak mierze napiecie na wyjsciu maxa (czyli na txout)
w momencie kiedy nie ma zadnej transmisji to
mam -8V a wiec 1 logiczna a wiec jest dobrze
jak dam 0V na wejscie txin to na wyjscciu pojawia sie
+8V a wiec z tego wynika ze max dziala dobrze
poza tym procesor tez cos wysyla bo zmienia sie napiecie
na linii txd w momencie przesylania bajtu, wprawdzie
jestem w stanie to sprawdzic tylko multimetrem a nie oscyloskopem
ale zmienia sie cos tam wiec znaczy ze cos leci na tej linii
dlatego ja juz nie wiem co moze byc nie tak
moze to ten kabel jest zle zrobiony, widzialem kable gdzie zwarte jest tylko
1(DCD)-4(DTR) a nie
1(DCD)-4(DTR)-6(DSR)
probuje dojsc do czegos ale nic
podpinalem sie do laptopa bo myslalem ze moze moj rs jest zepsuty w pc'cie
i tez nic nie leci
jedyna wskazowka jest to ze w hyperterminalu jak jest jakas transmisja z
AVR'a
to kursor nagle zaczyna inaczej mrugac tak jakby szybciej
hmmm teraz to juz napisalem chyba wszystko co wiem;-)
moze to kogos na cos naprowadzi bo ja juz nie mam sily z tym wszystkim...
pozdr
Krzysztof
pozdrawiam
Krzsyztof
========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai
From: "Krzysztof Skoroniak" <ananas_at_nospam_NospaM.polsl.gliwice.pl>
Subject: Re: AVR + rs232 + hyper terminal
Date: Fri, 18 Jun 2004 17:38:49 +0200
jeszcze jedno co mi sie wydaje dziwne:
otoz w programie nastawiam przesyl 200 bajtow
dla transmisji 8bit na jedna ramke to jest jeden bajt
w ramce
ramka ma 1 bit startu 8 bitow danych i 2 bity stopu a wiec
11 bitow co za tym idzie
dla predkosci 9600 b/s 200 bajtow kazdy po 11bitow
(2200bitow) powinno sie przesylac w ciagu:
ok 0.2 sekundy
a napiecie na liniach txd zmienia sie przez ok 2 sekundy a
wiec 10 razy dluzej wiec nie wiem moze cos z tym jest nie tak:-(
Krzysztof
========
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mai
From: Michal Baszynski <mbaszyns_at_nospam_ga.ze.ta.pl.>
Subject: Re: AVR + rs232 + hyper terminal
Date: Fri, 18 Jun 2004 18:05:09 +0200
On Fri, 18 Jun 2004 17:38:49 +0200, "Krzysztof Skoroniak"
<ananas_at_nospam_NospaM.polsl.gliwice.pl> wrote:
a napiecie na liniach txd zmienia sie przez ok 2 sekundy a
wiec 10 razy dluzej wiec nie wiem moze cos z tym jest nie tak:-(
-)
a Fusebity oscylatora ustawiles? Standardowo ATMegi startuja z
generatorem RC 1MHz..
--
Pozdr
Michal
========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai
From: "Krzysztof Skoroniak" <ananas_at_nospam_NospaM.polsl.gliwice.pl>
Subject: Re: AVR + rs232 + hyper terminal
Date: Fri, 18 Jun 2004 18:42:36 +0200
Uzytkownik "Michal Baszynski" <mbaszyns_at_nospam_ga.ze.ta.pl.> napisal w wiadomosci
news:pi46d0pjppp8a86ksnqm6666e472jo9ab2_at_nospam_4ax.com...
-)
a Fusebity oscylatora ustawiles? Standardowo ATMegi startuja z
generatorem RC 1MHz..
dzieki dzieki dzieki dzieki dzieki!!!!!!!!!!!!!!!
jak obliczylem baud dla czestotliwosci 1MHz to nagle
wszystko zaczelo dzialac
to jest moj pierwszy projekt w avrze i pewnie daltego
nie wiedzialem ze to trzeba ustawiac
wczesniej robilem na 8252 tam wszystko bylo default'owo
dzieki jeszcze raz
zaraz sie uporam z tymi bitami i bedzie wszystko dzialalo jak
trzeba
pozdrawiam
Krzysztof
========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai