mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT89: EA-Bit setzen?


Autor: Reinhard S. (rezz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab hier ein Problem mit einem AT89x52er:

Ich hatte einen ASM-Quelltext, der mir an einer Stelle Probleme machte 
(nicht-setzen eines Wertes), diese Stelle war eingerahmt von einem

set EA    und
clr EA

Nun hat laut Datenblatt EA je nach Wunsch entweder auf Masse zu liegen 
(wenn externer Code erlaubt sein soll, wie bei mir) oder auf Vcc (wenn 
nur interner Code).

So gesehen wäre es doch sinnlos da ein High oder Low auszugeben?

Das Problem verschwand nachdem ich die set- & clr-Befehle entfernte, 
deshalb meine Frage.

Autor: Route_66 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo! /EA ist kein Ausgang sondern ein Eingang. Er kann durch Software 
weder gelesen noch gesetzt oder gelöscht werden. Außerdem dient er als 
Eingang beim Programmieren des internen Flash.

EA ist in deiner Software jedoch das Bit 7 des IE (Interrupt Enable 
Register) und kann gleichzeitig alle Interrupts sperren oder die mit EX0 
bis ET2 freigegebenen gleichzeitig freischalten.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reinhard S. schrieb:
> Das Problem verschwand nachdem ich die set- & clr-Befehle entfernte,
> deshalb meine Frage.

Das EA-Bit heißt "Enable All" und hat nix mit den Pins zu tun.

Eine Klammerung mit Interrupt disable/enable bewirkt, daß die Sequenz 
atomar ausgeführt wird.
Es hat bestimmt einen wichtigen Grund, warum das jemand gemacht hat.

Man vermeidet damit Fehler, die sehr selten auftreten und daher schwer 
zu finden sind.
Nach Murphys Gesetz treten solche Fehler umso häufiger auf, je weiter 
weg das Gerät ist und je schwerwiegender ein Ausfall ist.


Du solltest genau prüfen, warum das bei Dir einen Fehler verursacht.
Und ob Du es wirklich weglassen darfst.


Peter

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.