Witam.
Proszę nie piszcie, że temat był już omawiany, bo przeczytałem chyba wszystko na tym forum o RS232 i nic mi nie pomogło.
Pierwszy raz zabrałem się za obsługę RS232 i potrzebuję kompletnych informacji bo błędów pewnie mam od pierona:)
Chciałbym stworzyć układ który po prostu wyśle mi do terminala znak (aby poznać jak to wszystko działa).
Moje dotychczasowe osiągnięcia:
1. Procesor ATiny2313 i 2 procedury z pdf'a. Zegar jest ustawiony na wewnętrzny 4MHz (nic nie zmieniałem a to jest domyślne). Taki program mam napisany:
Chciałem, żeby program wysyłał ciągle AAAAAAAAAAAAAAAAAA, ale tego nie robi niestety. (W AVRSTUDIO na symulacji wysyła 2 razy do UDA po czym kasuje UDRE i skacze w nieskończoność do USART_transmit).
2. Kabel mam taki jak na obrazku poniżej
Próbowałem również z połączeniem bez przeplotu.
3. Używam MAX233. Podłączyłem tak jak na pdf'ie (bez kondensatorów, tylko 3 zapętlenia).
4. Mam Windows XP. Hiperterminal poustawiałem tylko nie wiem do czego mu numer kierunkowy itp
Z góry dziękuję za pomoc.
Proszę nie piszcie, że temat był już omawiany, bo przeczytałem chyba wszystko na tym forum o RS232 i nic mi nie pomogło.
Pierwszy raz zabrałem się za obsługę RS232 i potrzebuję kompletnych informacji bo błędów pewnie mam od pierona:)
Chciałbym stworzyć układ który po prostu wyśle mi do terminala znak (aby poznać jak to wszystko działa).
Moje dotychczasowe osiągnięcia:
1. Procesor ATiny2313 i 2 procedury z pdf'a. Zegar jest ustawiony na wewnętrzny 4MHz (nic nie zmieniałem a to jest domyślne). Taki program mam napisany:
.include "tn2313def.inc"
.def temp = R16
ldi temp,Low(RAMEND<<1) ;ustawienie stosu
out SPL,temp
ldi R17,$00
ldi R16,$67
rcall USART_init
skok:
ldi R16,$61
rcall USART_transmit
rjmp skok
USART_init: ;parametr w R17:R16
out UBRRH,R17 ;preskaler
out UBRRL,R16
ldi R16,(1<<RXEN)|(1<<TXEN) ;enable receiver and transmitter
out UCSRB,R16
ldi R16,(1<<USBS)|(3<<UCSZ0) ;8bit data i 2bit stop
out UCSRC,R16
ret
USART_transmit: ;parametr (dana) w R16
sbis UCSRA,UDRE ;czekaj na opróżnienie bufora
rjmp USART_transmit
out UDR,R16 ;wyślij daną
ret
Chciałem, żeby program wysyłał ciągle AAAAAAAAAAAAAAAAAA, ale tego nie robi niestety. (W AVRSTUDIO na symulacji wysyła 2 razy do UDA po czym kasuje UDRE i skacze w nieskończoność do USART_transmit).
2. Kabel mam taki jak na obrazku poniżej
Próbowałem również z połączeniem bez przeplotu.
3. Używam MAX233. Podłączyłem tak jak na pdf'ie (bez kondensatorów, tylko 3 zapętlenia).
4. Mam Windows XP. Hiperterminal poustawiałem tylko nie wiem do czego mu numer kierunkowy itp
Z góry dziękuję za pomoc.