PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit RS232-Verbindung über USB-Serial-Adapter



steph
23.12.2005, 20:54
Hallo!
ich versuche gerade eine verbindung zwischen rn-control 1.4 und computer über eine RS232-Verbindung herzustellen. habe dies mit dem beispielprogramm rncontroltestmega32.bas probiert, hat aber bisher noch nicht funktioniert. folgende einstellungen habe ich geändert: fuse-bits nach
rn-control-anleitung geändert, in options chip auf m32def.dat, baudrate auf 9600 und frequenz auf 16MHz umgestellt. habe das RS232 kabel auch schon umgesteckt, für den fall, dass es falsch aufgesteckt ist. könnte das problem sein, dass ich einen USB-serial-adapter nutze, da ich keine
serielle schnittstelle besitze.
wenn ich mit winavr arbeite habe ich das gleiche problem. so habe ich den folgenden code auf die rn-control
gespielt:

#include <avr/io.h>
#define SYSCLK 16000000
void delay(unsigned int ms);

void main()
{
UCSRB |=(1<<TXEN);
UCSRC |=(1<<URSEL)|(3<<UCSZ0);
UBRRH=0;
UBRRL=103; //bei Baudrate 9600 (16000000/(9600*16)-1)
unsigned char i;
DDRC = 0xff;
for(i=0;i<250;i++)
{
PORTC = 254-i;
delay(100);
while(!(UCSRA & (1<<UDRE)));
UDR=i;
}
}

void delay(unsigned int ms)
{
unsigned int zaehler;
while (ms)
{
zaehler = SYSCLK / 5000;
while (zaehler)
{
asm volatile ("nop");
zaehler--;
}
ms--;
}
}


dann habe es mit hyperterminal versucht (auch hier habe ich baudrate angepasst), jedoch auch ohne erfolg...

für hinweise bin ich sehr dankbar.

super_castle
23.12.2005, 21:42
Wo hast du die Raubkopie des C-Programmes her.
Bist du sicher, das du im Betreiben des Programmes eingewiesen bist.
Das RN-Programm müsste funktionieren. Habe es gerade gestestet.

Castle

michaelb
23.12.2005, 23:34
Hi Steph,
erstmal herzlich Willkommen im Forum!!
bei deinem Code ist mir folgendes aufgefallen:


UCSRC |=(1<<URSEL)|(3<<UCSZ0);

mach mal statt dem dieses:


UCSRC |=(1<<URSEL)|(1<<USBS)|(3<<UCSZ0);

damit du 2 Stopbits sendest!
laut Datenblatt hast du mit UBBRL = 103 nur 0,2% Error also daran liegt es meiner Meinung nach nicht!!
Was hast du bei deinem Terminal eingestellt?
Ist denk mal das Problem leigt bei dem RS232 <-> USB Adapter! Da gab es schon einige Probleme!
Gruß Michi
P.S.


Wo hast du die Raubkopie des C-Programmes her.

hää warum Raubkopie?

steph
24.12.2005, 16:53
vielen dank für die antworten.
aber die lösten mein problem auch nicht.
habe nun die verbindung auf meinem desktop-pc über den com1-anschluss problemlos herstellen können.
demnach klappt es auf dem laptop nicht wegen dem fehlenden com-anschluss,
weswegen ich auf den USB-serial-adapter zurückgreifen muss. beim terminal kann ich unter winxp ja auch nur den com3 einstellen,
aber auf dem desktop-pc konnte ich unter win98 auch com1 einstellen. wie kann ich die verbindung über USB-adapter betreiben?
wer kann mir helfen??????
frohe weihnachten

fluchtpunkt
25.12.2005, 01:23
com3 sollte in Ordnung sein. Diese SER2USB-Treiber tragen sich idR als com3 und höher ein. Standardpc hat(te) schliesslich meist 2 Comports.

Vergleiche mal alle Einstellungen in deinem Terminalprogramm mit denen von dem Rechner an dem es funktioniert.
Und dann vergleichst du das ganze nochmal. Dann funktioniert es.

So war es bei mir zumindest immer :)

Treiber reinstallieren wäre ein weiterer Lösungsvorschlag.