AVR + rs232 + hyper terminal

Jun 18, 2004 8 Replies

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



U¿ytkownik "Krzysztof Skoroniak" snipped-for-privacy@NospaM.polsl.gliwice.pl> napisa³ w wiadomo¶ci news:caukam$6pf$ snipped-for-privacy@atlantis.news.tpi.pl...

oczywiscie zapomnialem zaznaczyc ze miedzy liniamy jest wpiety max232

Uzytkownik "Michal Baszynski" snipped-for-privacy@ga.ze.ta.pl.> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

ustawialem takze i nic to nie daje :-(

Krzysztof

to jest hex czy dec? ;-) poza tym grupowa wrozka ma dzis wolne i nie wiemy jaki to procesor i jaki kwarc masz ;-)

Uzytkownik "Michal Baszynski" snipped-for-privacy@ga.ze.ta.pl.> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

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

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

:-) a Fusebity oscylatora ustawiles? Standardowo ATMegi startuja z generatorem RC 1MHz..

Uzytkownik "Michal Baszynski" snipped-for-privacy@ga.ze.ta.pl.> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required