[ATMega128] komische USART1

OP Persönliche Seite #232732
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
OP Persönliche Seite
Lesenswert?
• ▲
▼
Programm sieht etwa so aus:
1
int main()
2
{
3
...
4
...
5

6
  while(1)
7
  {
8
    status = UDR1;
9

10
    if(!fx803Int())
11
    {
12
      ...
13
      // paar Aktionen, damit das Statement genommen wird
14
    }
15
  }
16
}

Ü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
OP Persönliche Seite
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.