mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS232 Mega16 - Hyperterminal?


Autor: Marco (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

Ich habe einen ATmega16 und möchte einfach nur strings auf dem
Hyperterminal per RS232 ausgeben. Beim ATmega8 hat es auf anhieb
geklappt. Die Initialisierung ist ja nicht die gleiche, aber ich
bekomme die beim Mega16 nicht hin... ich bekomme nur "Textgülle". Was
mache ich falsch? Schaut mal bitte in den Quellcode. Danke euch.

Marco

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab gesehen, das da noch zwei kleine Schnitzer drin sind. ich lege
ab baud =0 fest ... muss 23 sein und initialisiere UBRL zwei mal....
die eine Zeile müsste auskommentiert sein outp (....,UBRRL); . ABer das
ist nicht das Problem... es funzt trotzdem nur Zeichenwirrwarr an den
Hyperterminal.... schei.... :-).

Was machen ich denn noch falsch ????

Autor: Aleksej (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die Interrupts von Mega16 richtig initialisiert? Mega16 hat
nähmlich eine andere Tabelle, die Einträge sind nicht 2 bytes groß, und
im sourcecode hab ich nirgendwo gesehen, wie du dein MCU definiert hast

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich ist der MCU doch durch das makefile definiert.. aber ich
lasse mich gern eines Besseren belehren... welche Interrupts sind denn
zu definieren und wie?

Marco

Autor: Gunter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Marco,

Du hast daran gedacht, daß ein neuer Mega16 mit
internen 1MHz läuft?

hth
Gunter

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fuse bits auch richtig auf externen takt umgestellt ?
Anlieferungszustand ist ja 1 MHz interner RC-Oszillator

Autor: Aleksej (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem internen Oszillator ist ja auch eine Möglichkeit, gebe ich zu

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HUPS ... dann brauche ich Hilfe, wie ich die Fuses setze. Ich benutze
das Programm AT-Prog. Da habe ich vier Bytes zur Verfügung um die Fuses
zu setzen. Leider fehlt mir der Zusammenhang, was ich da blind auf
Anweisung gemacht habe um das JTAG Interface zu disablen und dem
Datasheet des ATmega16. Voreinstellung ist Fusbit High 99 und des mußte
auf A9 .Ich mußte folgendes eingeben: zuerst die Bytefolge 58 08 00 00
(Senden), dann stand da 58 08 08 99 . Nun mußte ich eingeben AC A8 00
D9 (Senden) und es erschien AC A8 A8 00. ???? Was habe ich da gemacht..
kan das einer nachvollziehen und wie setzte ich nun dies
"jungfräuliche" 1MHz-Geschichte um?

Marco

Autor: Gunter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vor allem jetzt NICHT EXPERIMENTIEREN !!!!
Sonst kannst Du den Mega16 ggf. wegwerfen.

Gunter

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das weiß ich :-)... deswegen habe ich erst fragen wollen, befor nur noch
der Hammer bleibt, um mal im Mega16 nachzuschauen, wie ich die
"Schalterchen setze" :-)

Autor: Gunter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

>Das weiß ich :-)...
dann ist ja gut ;-)
Leider kenne ich Dein Programm nicht.
Vielleicht kann hier jemand anderes was dazu sagen.

Gunter

Autor: Gunter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Übersetzte das Teil doch mal mit 1MHz "Quarztakt".
Dann müßte zumindest weniger Müll kommen.
Nur so als Nachweis, daß es daran liegt.

Gunter

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe jetzt den Wert für UBRRL auf 6 gesetzt (1MHz, 9600bps)
aber habe trotzdem einen 3,6864MHz Quarz dran... das ist hoffentlich
kein Problem... habe keinen 1MHz Quarz zur Hand. Und es kommt immer
noch nicht das richtige am Hyper an :-(.

Marco

Autor: Gunter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Nö!

#define F_CPU 1000000       // Quarztakt

sollte die einzige Änderung sein, die notwendig ist.
Dein angeschlossener Quarz ist egal. Der hängt einfach
an zwei I/O-Pins (ohne zu schwingen).

hth
Gunter

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nö... daran lag nicht... ach menno, das ist, als ob man nem kleinen
Jungen sein Spielzeugauto wegnimmt :-(.... watt denn nu? Man sagt ja
immer, ein Computer ist so blöd wie der, der ihn bedient... bin ich
sooo blöde  kopfschüttel

Autor: Gunter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

dann müssen die C-Spezialisten hier mal ran und sagen
ob die Änderung des "define" reichen müßte.

Oder Du schreibst das Teil in Pascal um, dann kann
ich Dir evtl. weiterhelfen ;-)

Gunter

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JOHHHHH, da kahm alles zusammen.. Ich hatte zwar den Takt verändert,
aber define 9600 stehen lassen, mit 2400 ist die fehlerquote super und
siehe da... der Text ist da... ich danke dir erstmal ganz dolle... aber
nun muß ich noch die Fuses ändern... mal schauen wer mir da helfen
kann. den programmierer von AT-Prog habe ich schon angetextet und
warte. SUUUUPER :-)))

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.