80c51 Serieller RI Interrupt funktioniert nur das erste mal

Gast #474226
Lesenswert?
• ▲
▼
Hallo

Ich lasse 2 Mc AT89c51 über die serielle schnittstelle miteinander 
kommunizieren, das funktioniert eig alles, abgesehen davon, dass der 
serielle Interrupt des Empfangsbit Ri nur einmal ausgeführt wird.

der programmtext für das interrupt lautet:


SINT:
ajmp Serieller Interrupt

; weiterer Programmtext


Serieller Interrupt:
      if Bit RI then
         clr ri
         mov p2,sbuf
         cpl p3.4 ;daher weiß ich dass der serielle interrupt nur das 
erste
                    mal nach dem reset ausgeführt wird
         jmp warteschleife
       else
          reti
     end if




Ja- hm findet jemand meinen Fehler?
gibt es noch einen Interruptbit den man reseten muss?

Schon mal Danke im vorraus

Mit freundlichem Gruß
Johannes
Gast #474245
Lesenswert?
• ▲
▼
ja also die schaltung funktionier so dass der Sender eine Adresse sendet 
und dann ca 500 ms auf eine antwort wartet, (was heißt dass er dann in 
den Interrupt  s.o. springt) sollte die antwort nicht kommen, dann frägt 
er die nächste adresse ab. also er bleibt nicht hängen und die antwort 
kommt auch jedes mal -hab ich mit dem oszi überprüft

wenn du das gemeint hast

Gruß Johannes
#474257
Lesenswert?
• ▲
▼
Johannes wrote:

> wenn du das gemeint hast

Nein.

Interrupts müssen immer mit RETI beendet werden und nicht mit "JMP 
Irgendwohin".

Das RETI sagt der CPU nämlich, daß der interrupt fertig ist und ab dann 
der nächste Interrupt behandelt werden darf.

Die CPU kann nicht in Deinen Kopf sehen.


Peter


Antwort schreiben

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.

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.