www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega88 soll mit PC kommunizieren.


Autor: Silver69 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wie der Titel schon sagt: Der Mega88 soll mit dem PC über RS232 
kommunizieren.

Ich muss mal eine Grundlegende Frage stellen, sonst komm ich hier nie 
weiter:

Also:

Angeschlossen ist das ganze so:

Mega88 - Pin2 (PD0(RXD)) => MAX202 Pin12 (R1OUT)
Mega88 - Pin3 (Pd1(TXD)) => MAX202 Pin9  (T1IN)

Am Mega88 ist auch noch ein Quarz (1,843200 MHz) angeschlossen, und zwar 
am Pin9 (XTAL1)

Wenn ich jetzt im Datenblatt vom Mega88 lese:

a) 17. Serial Peripheral Interface – SPI
b) 18. USART0
c) 19. USART in SPI Mode
d) 20. 2-wire Serial Interface

Das verwirrt mich ein wenig... Welche der 4 ist die für mich richtige 
Methode? Ich habe zwar eine Vermutung, da ich den Publikumsjoker aber 
nicht verunsichern will, sage ich mal gar nichts. :P

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Silver69 wrote:

> Am Mega88 ist auch noch ein Quarz (1,843200 MHz) angeschlossen, und zwar
> am Pin9 (XTAL1)

Nun hat ein Quarz aber 2 Beine. Wo ist das zweite?

Was su suchst steht in 18.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
USART0

Autor: Silver69 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schon einmal für die schnellen Antworten!

Hmm.... laut Reichelt hat der Quarz 4 Anschlüsse, aber einer davon ist 
nicht beschaltet...

Anschlüsse:
· 1 nicht beschaltet
· 7 Masse
· 8 Ausgang
·14 Speisespannung

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hmm.... laut Reichelt hat der Quarz 4 Anschlüsse, aber einer davon ist
> nicht beschaltet...

verwechselst du da etwa den Quarz, mit nem Quarzoszillator?

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hmm.... laut Reichelt hat der Quarz 4 Anschlüsse, aber einer davon ist
> nicht beschaltet...
>
> Anschlüsse:
> · 1 nicht beschaltet
> · 7 Masse
> · 8 Ausgang
> ·14 Speisespannung

Sicher das es ein Quarz und kein Oszilator ist? Verrat doch mal die 
genaue Bauteilbezeichnung.

> Angeschlossen ist das ganze so:
>
> Mega88 - Pin2 (PD0(RXD)) => MAX202 Pin12 (R1OUT)
> Mega88 - Pin3 (Pd1(TXD)) => MAX202 Pin9  (T1IN)

Klingt soweit Ok. R1IN kommt dann an TX vom PC und T1OUT geht an RX vom 
PC.

> Am Mega88 ist auch noch ein Quarz (1,843200 MHz) angeschlossen, und zwar
> am Pin9 (XTAL1)

So wird eine externe Taktquelle angeschlossen. Ein Quarz kommt an XTAL1 
und XTAL2. Zusätzlich braucht es noch die Lastkapazitäten. siehe 
Tutorial hier:

http://www.mikrocontroller.net/articles/AVR-Tutori...

> Wenn ich jetzt im Datenblatt vom Mega88 lese:
>
> a) 17. Serial Peripheral Interface – SPI
> b) 18. USART0
> c) 19. USART in SPI Mode
> d) 20. 2-wire Serial Interface
>
> Das verwirrt mich ein wenig... Welche der 4 ist die für mich richtige
> Methode?

b.) USART0

Irgendwo im Datenblatt steht sicher auch, welches Peripheriemodul an 
welchen Portpins mündet.


> Ich habe zwar eine Vermutung, da ich den Publikumsjoker aber
> nicht verunsichern will, sage ich mal gar nichts. :P

Ansonsten bleibt ja noch der 50:50 Joker ;)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>> Anschlüsse:
>> · 1 nicht beschaltet
>> · 7 Masse
>> · 8 Ausgang
>> ·14 Speisespannung

>Sicher das es ein Quarz und kein Oszilator ist? Verrat doch mal die
>genaue Bauteilbezeichnung.

Das ist ein Oszillator!!! Und dann ist auch XTAL1 richtig.

MfG Spess

Autor: Silver69 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, richtig, es ist ein Oszillator. Bei Reichelt:
OSZI 1,843200 :: Quarzoszillator, 1,843200 MHz.

Bis vor 10 Minuten wusste ich gar nicht, dass da ein Unterschied 
besteht.
Aber wie ich erfreut lese, kann ich auch diesen Quarzoszillator 
benutzen?

Morgen sollten die restlichen Teile kommen, dann kann ich endlich die 
Schaltung aufbauen und testen ob es funktioniert. Da bin ich schonmal 
gespannt.

Autor: Silver69 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

So, die Schaltung ist nun endlich aufgebaut und funktioniert nicht.

Deshalb habe ich noch ein paar Fragen:

Ich möchte ja diesen Quarzoszillator als externen Tackt benutzen. Hierzu 
habe ich im Programm (Diese Send-Bespiel, hier aus dem Tutorial) die 
Tacktfrequenz geändert in:

.equ F_CPU = 1843200

Ist das richtig?
Muss ich noch etwas einstellen, damit der externe Tackt benutzt wird?

Wenn ich im Hyper-Therminal eine Taste drücke, wird die dann automatisch 
an die Schnittstelle übertragen? Schon lange her, dass ich dieses 
Progamm das letzte mal benutzt habe.

Autor: B e r n d W. (smiley46)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal ein Gesundes Neues Jahr an alle!

Im Hyperterminal und im Programm die selbe Baudrate eingestellt?
Wie hast du das Programm übertragen/programmiert?
Hat der ATmega88 einen Blockkondensator?
Und einen 10k Pullup am Reset?

Ich würde erst mal eine LED blinken lassen, wenn das Programm richtig 
startet. Dann weisst du wenigstens, ob deine Toolchain richtig 
funktioniert.

Gruss, Bernd

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Erstmal ein Gesundes Neues Jahr an alle!

Ich schließ mich mal an, wünsche allen hier ein gesundes neues Jahr.

> Ich möchte ja diesen Quarzoszillator als externen Tackt benutzen. Hierzu
> habe ich im Programm (Diese Send-Bespiel, hier aus dem Tutorial) die
> Tacktfrequenz geändert in:
>
> .equ F_CPU = 1843200
>
> Ist das richtig?

Ja, sofern du einen 1.8432MHz Takt verwendest.

> Muss ich noch etwas einstellen, damit der externe Tackt benutzt wird?

Ein neuer Atmega88 läuft mit dem internen 8MHz-RC-Oszilator und der 
DIV8-Fuse aktiviert, d.h. der Controller läuft mit ETWA 1MHz Takt.

> Wenn ich im Hyper-Therminal eine Taste drücke, wird die dann automatisch
> an die Schnittstelle übertragen? Schon lange her, dass ich dieses
> Progamm das letzte mal benutzt habe.

Ja, Hyperterminal sendet jede Taste sofort raus. Wenn Hardware-Handshake 
aktiv ist, reagiert das Programm allerdings oft etwas seltsam. Am besten 
du suchst mal nach HTerm oder benutzt Putty. Mit HyperTerminal bin ich 
nie richtig warm gewurden.

Autor: Silver69 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wünsche auch allen ein frohes, neues Jahr... Glück auf!
Und vielen Dank an alle, es funktioniert jetzt. ES sendet und empfängt 
;-)

Musste die "CHKOUT" Fuse setzten, dann hat es funktioniert....

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.