mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [ATMega128] komische USART1


Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ich hab bis jetzt ja schon einige Projekte mit den ATMega128
Controllern abgewickelt, aber jetzt steh ich vor einem sehr seltsamen
Problem.
Und zwar... ich hab auf PortE (PE5) eine Interrupt Leitung von einem
Peripheriechip (5-Ton Auswerter) drauf. Diese Leitung wird relativ
selten ausgelöst und in meinem Programm wird die Leitung in einer
while-Schleife gepollt. Nachdem das Statusregister des Auswerters
ausgelesen wurde, geht die Interrupt Leitung wieder auf High!

Soweit ist das alles ok und funktioniert (für sich gesehen). Jetzt
benutze ich noch die zweite serielle Schnittstelle (USART1) zur
Übertragung einiger Einstellungen (polle ebenfalls in der selben
while-Schleife).

Das Problem das nun auftritt ist folgendes: irgendwie bekomm ich durch
den Zugriff auf die Register - egal welche - der USART1 Störungen auf
die Interrupt-Leitung (Pin PE5). Wenn die Störungen nur im mV Bereich
wären, dann würde mich das weniger stören, aber bei etwa 1-2V ist das
schon ein Problem. Lass ich die Register der USART1 in Ruhe, dann hab
ich keine Störungen drauf.

Vielleicht hat jemand einen Tipp für mich, wsa ich ausporbieren
könnte!? Vielleicht hats auch was mit dem Kompatiblitätsmodus zu tun
(Mega103)!?

mfg
Andreas

Autor: lordludwig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was hälst du von einem pullup-widerstand???

Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich schon drinnen!
10k gegen +5V

Autor: Jörn G. aus H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hört sich nach Programmfehler an!?
Wie sieht denn dein Code aus?
jörn

Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programm sieht etwa so aus:
int main()
{
...
...

  while(1)
  {
    status = UDR1;

    if(!fx803Int())
    {
      ...
      // paar Aktionen, damit das Statement genommen wird
    }
  }
}

Übrigens ist es so, dass das Problem immer auftritt, wenn ich in dem
Bereich zwischen 0x60 und 0xFF (also in dem extended IO Reg. Bereich)
zugreife. Sobald ich also diesen Bereich lese oder schreibe, hab ich
Störungen auf dem PE5 Pin. Ab 0x100 gibts kein Problem mehr.
Ist doch sehr seltsam, oder??

mfg
Andreas

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle Vcc und GND Anschlüsse verbunden und korrekt abgeblockt ?
Oder ggf. probleme bei der richtigen Umsetzung von Port- auf
Memory-Mapped I/O Operationen?

Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, hätte eigentlich alle VCC und GND Anschlüsse richtig verbunden und
auch dementsprechend Kondensatoren hinzugefügt.
Ich hab in dem Programmbeispiel oben nur einfache Port Operationen
laufen... nichts großartiges...
Hab jetzt auch mal eine Mail an Atmel geschrieben. Vielleicht kennen
die ja das Problem!
Danke erstmal für eure Hilfe... bin für weitere Tipps dankbar.

mfg
Andreas

Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab jetzt auch versucht, dass ich 5 der 8 Leitungen von dem Chip
abhänge. Ergebnis ist das selbe. Sobald ich auf die besagten Adressen
zugreife, hab ich Störungen am Port.

mfg
Andreas

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.