USB und 9600Bd mit AT89C5131

Gast #1464111
Lesenswert?

Hallo,
ich habe einen AT89C5131AM, den ich mit Flip über USB programmieren 
kann. Funktioniert soweit bestens!
Jetzt muss ich ein Gerät mit RS232 auslesen, das nur 9600Bd kennt; und 
schon gehen die Probleme los:
Die USB Programmierung geht nur mit 12Mhz Quarz. Damit bekomme ich die 
9600Bd aber nicht hin. Mit einem 11059,2MHz Quarz passt das Timing der 
RS232, aber USB läuft nicht mehr.

Ich habe mittlerweile Schaltungen mit 16MHz oder 24MHz gefunden, die 
(scheinbar) funktionieren.

Meine Fragen:
Läuft der USB-Bootlader nur mit (12+n*4) MHz (n E 0..9) ?
Wie wäre die Sache zu lösen?
Externer Takt für die RS232?
Ein "Quarzumschalter"? Wechselschalter aus der Hausinstallation :-)) ?
Treiber/Schnittstellenkarte, die auch die 11059MHz umgehen kann? Gibts 
so was?
Am Nähesten liegen bei 24Mhz und reload Wert 13: 9616,38 Bd. Akzeptiert 
das eine standard RS232 noch als 9600 Bd?

Danke,
Jürgen
#1464129
Lesenswert?

1
Initialisierung:
2
orl PCON,#10000000b ;SMOD=1 bei 9600 Baud
3
mov BDRCON,#00011111b ;int. Baudraten-Generator für Senden und Empfangen, SPD=1
4
mov BRL,#217 ;Reloadwert für int. Baudratengenerator
5
mov SCON,#01010000b ;8-Bit-UART (Mode 1), Empfang zulassen
damit funktionierts zumindest hat so meine kommunikation mit jedem 
rechner über rs232 funktioniert

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren