Forum: Mikrocontroller und Digitale Elektronik BASIC-UART-externer Oszillator


von Max S. (caligula141)


Lesenswert?

Hallo Zusammen,

ich empfange über UART nur Müll mit einer Frequenz von 1Hz wohlgemerkt. 
Ist das Programm so richtig, wenn der externe Quarzoszillator 4,9125 MHz 
hat? Fuses habe ich über AVRStudio für 
SUT_CKSEL=EXTHIFXTALRES_16KCK_64ms eingestellt.
1
$regfile = "M32def.dat"                                     'es handelt sich um einen ATmega8
2
$crystal = 4915200                                          'der eingebauter RC-Oszillator läuft mit 4,9152 Mhz
3
$hwstack = 100                                              'im Speicher werden für den Hardware-Stack 100 Byte reserviert
4
$swstack = 100                                              'im Speicher werden für den Software-Stack 100 Byte reserviert
5
$framesize = 100                                            'im Speicher werden für den Frame 100 Byte reserviert
6
$baud = 9600
7
8
Do
9
Print "Hallo Welt!"
10
Wait 1
11
Loop
12
13
End                                                         'Ende des Programms

Das ganze Funktioniert noch nicht. Vielleicht stimmt auch was an der 
Platine nicht ...

Gruß

Caligula

von Spess53 (Gast)


Lesenswert?

Hi

>$crystal = 4915200     'der eingebauter RC-Oszillator läuft mit 4,9152 Mhz

Halte ich für ein Gerücht.

MfG Spess

von Max S. (caligula141)


Lesenswert?


von Timmo H. (masterfx)


Lesenswert?

4,9152 MHz ist ja auch ein Baudratenquarz, also warum auch nicht?!
Vielleicht bezieht sich das Kommentar vor Spess auf "der eingebaute 
RC-Oszillator", genaugenommen ist es ja ein externer Quarz, auch wenn er 
im Gerät eingebaut ist :D

von Max S. (caligula141)


Lesenswert?

Das habe ich verstanden ;)
Ist das Programm soweit richtig? Muss ich den Fehler in der Hardware 
suchen?

von Timmo H. (masterfx)


Lesenswert?

Naja was genau funktioniert denn nicht? Empfängst du nichts? Vielleicht 
ist es ja auch an der PC-Seite falsch angeschlossen (RX, TX vertauscht?) 
Hast du ein Nullmodem-Kabel oder 1:1?

von Spess53 (Gast)


Lesenswert?

Hi

>Das habe ich verstanden ;)
>Ist das Programm soweit richtig? Muss ich den Fehler in der Hardware
>suchen?

Hast du auch den externen Quarz per Fuses aktiviert?

MfG Spess

von Max S. (caligula141)


Lesenswert?

Hallo,

dieser Fuse SUT_CKSEL ist auf EXTHIFXTALRES_16KCK_64ms eingestellt. Ist 
das richtig?

Mein PC hat keine serielle Schnittstelle, deswegen verwende ich einen 
RS232-USB-Adapter. Da kann man wohl dann eher nichts falsch anschließen.

Ausgegeben wird mit einer Frequenz von 1Hz nicht "Hallo Welt", sondern 
etwas Müll eben.

Einstellungen im Terminal: 9600bd

Gruß

Max

von Timmo H. (masterfx)


Lesenswert?

Max S. schrieb:
> Mein PC hat keine serielle Schnittstelle, deswegen verwende ich einen
> RS232-USB-Adapter. Da kann man wohl dann eher nichts falsch anschließen.
Auch da kann man RX und TX vertauschen

Max S. schrieb:
> Ausgegeben wird mit einer Frequenz von 1Hz nicht "Hallo Welt", sondern
> etwas Müll eben.
Das klingt nach falschem Clock. Vermutlich hast du noch die CKDIV8 Fuse 
gesetzt?! (dann wird der Clock, egal ob intern oder extern, nochmal 
durch 8 geteilt)

von Max S. (caligula141)


Lesenswert?

OCDEN = [ ]
JTAGEN = [X]
SPIEN = [X]
CKOPT = [ ]
EESAVE = [ ]
BOOTSZ = 2048W_3800
BOOTRST = [ ]
BODLEVEL = 2V7
BODEN = [ ]
SUT_CKSEL = EXTHIFXTALRES_1KCK_64MS

HIGH = 0x99 (valid)
LOW = 0xCF (valid)

Das sind meine Fuses wie in AVRStudio komplett angezeigt. CKDIV8 wo 
finde ich das?

von Spess53 (Gast)


Lesenswert?

Hi

>Das sind meine Fuses wie in AVRStudio komplett angezeigt. CKDIV8 wo
>finde ich das?

Hat dein ATMega32 nicht. Aller dings würde ich 4,9152 MHz eher unter
EXTMEDFXTALRES_16KCK_64MS einordnen.

MfG Spess

von Max S. (caligula141)


Lesenswert?

okay ... Fuse geändert ... hab immer noch dasselbe Problem ...

von holger (Gast)


Lesenswert?

>Mein PC hat keine serielle Schnittstelle, deswegen verwende ich einen
>RS232-USB-Adapter.

MAX232 dazwischen? GND auch angeschlossen?

von Spess53 (Gast)


Lesenswert?

Hi

>okay ... Fuse geändert ... hab immer noch dasselbe Problem ...

War mir klar. Das sollte eigentlich nur ein Tip sein.

MfG Spess

von Max S. (caligula141)


Lesenswert?

MAX232 ist dazwischen und GND ist auch ordnungsgemäß verbunden.

von Karl H. (kbuchegg)


Lesenswert?

Max S. schrieb:
> MAX232 ist dazwischen und GND ist auch ordnungsgemäß verbunden.

Das lässt sich schnell testen.
Nimm den µC aus dem Sockel. Mach eien Steckbrücke im Sockel zwischen dem 
Rx und dem Tx Pin. Am PC dann Hyperterminal aufgemacht, konfiguriert und 
auf der Tastatur tippen. Das Getippte muss angezeigt werden.
Gegentest: Steckbrücke abziehen und das Getippte darf nicht mehr 
erscheinen.

Wenn das klappt, dann ist die USB-Verbdindung, der UC/RS232 Umsetzer, 
der MAX232 und dessen Verbingung hin zum Sockel soweit erst mal in 
Ordnung.

von Max S. (caligula141)


Lesenswert?

Also wenn ich nur die Verbindung herstelle und Tippe geht garnichts. 
Aber auf meinem USBprog STK ist das genau so. Also ich verbinde auf 
meinen Evaluationsboard RXD und TXD also PIN2 und 3; tippe und es 
geschieht garnichts.

von Timmo H. (masterfx)


Lesenswert?

Max S. schrieb:
> Mein PC hat keine serielle Schnittstelle, deswegen verwende ich einen
> RS232-USB-Adapter. Da kann man wohl dann eher nichts falsch anschließen.
Du hast nicht zufällig einen RS232 USB Adapter mit TTL Pegel (dann 
darfst du natürlich keinen Max am µC verwenden), also sowas in der Art: 
http://www.ebay.de/itm/USB-2-0-to-TTL-UART-6PIN-Module-Serial-Converter-CP2102-STC-PRGMR-Dupond-cable-/251159448719?pt=Elektromechanische_Bauelemente&hash=item3a7a450c8f

von Max S. (caligula141)


Lesenswert?

Nein. Das ist eher sowas: 
http://www.ebay.de/itm/USB-RS-232-Konverter-Kabel-RS232-Kompaktadapter-Premium-Adapter-DB-9-SAT-Update-/251106240947?pt=DE_Computing_Monitor_AV_Kabel_Adapter&hash=item3a771929b3

Aber ich probiers heute nochmal mit nem andern Adapter und messe mich 
nochmal komplett durch.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.