mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USART Konflikt bei ATMEGA


Autor: Oswald Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

benutze die 2. serielle Schnittstelle (TXD1/RxD1) beim ATMEGA128L an
PortD. Wenn ich beim Init. die Register PORTD und DDRD auf 0x00 setze,
gibt's kein Problem.
Jedoch wenn ich sie auf (PORTD: 0x13, DDRD: 0x53) setze, dass heißt die
anderen Pins teilweise auf Eingang/Ausgang bzw. Pull-Up/Pull-Down setze,
funktioniert die usart nicht mehr. RxD1 ist an Pin2, TXD1 an Pin3.
Gibts vielleicht Probleme mit der Bitadressierung an diesem Port? Im
DataSheet habe ich keine Lösungsansetze entdeckt...

Mario

Autor: juergen klauck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi !!!
ich schaetze ,dass man auf die 6 anderen pins von port D verzichten
muss wenn man den port als usart benutzt. so nen interner verbrauch des
ports im prinzip ??
zB. wird PD5 auch vom USART genutzt !!!
genaueres wird man wohl in der m128def.inc finden !!!
ja denke schon aber es sind doch wirklich genug io pins vorhanden

Autor: Oswald Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schonmal für die Antwort. Leider habe ich auch in der m128def.inc
nichts gefunden, was mir weiterhilft.
Die usart1 benutzt nur Pin2 und Pin3. An Pin0 und Pin1 sind bei mir
CS-Signale, die ich intern Pull-Up schalten will. Bei Pin0
funktioniert's auch, sobald ich aber Pin1 im DDRD auf Pull-Up schalte,
funktioniert weder der Zugriff auf den Pin noch die usart.

Kann es mir einfach nicht erklären...

Autor: Andreas Niermann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist Dein M128 im M128-Mode?

Autor: Andreas Niermann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist Dein Mega128 auch im Mega128-Mode gefust?

Autor: juergen klauck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, sollte wenn man das hier gelesen hat wohl doch mit den pins laufen
!! (aus dem manuel)

"Note that enabling the alternate function of some of the port pins
does not affect the use of the other pins in the port as General
Digital I/O."

vieleicht helfen dir ja die Table 37 und 38 auf seite 77!!

Autor: Oswald Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob der MCU im Mega128-Mode ist, hab ich noch nicht kontrolliert. Der
wird wohl defaultmäßig in dem Mode laufen...
Die Tabellen helfen mir eigentlich nicht wirklich weiter.
Auf dem Pin7 habe ich es auch schon probiert. Funktioniert's auch
nicht.
Vielleicht finde ich ja noch einen Fehler. Ansonsten bin ich für
weitere Tipps sehr dankbar!!!

Mario

Autor: Oswald Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab nochmal im Datenblatt nachgelesen. Außer eventuell Pin5
(Clock-Ausgang der seriellen Schnittstelle) kann die doch die anderen
Pins nicht beeinflussen. Zumal ja Pin0 einwandfrei funktioniert.

Autor: Uwe Nagel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Default ist, warum auch immer, der mega103 Kompatibilitätsmodus!
So stehts jedenfalls unter 'Memory Programming' im Datenblatt. Man
muss also das EFUSE-Register auf 0xff setzen.
Im Kompatibilitätsmodus sollte die zweite Schnittstelle aber eigentlich
garnicht gehen!???

Autor: Oswald Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Hinweis.
Habe zwar den entsprechenden Fuse mittels CodeVision umprogrammiert,
aber er speichert die Fuse-Programmierung nicht???
Im Kompatibilitätsmodus ist die 2. serielle Schnittstelle schon
gegangen.. warum weiß ich nicht.

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.