Forum: Mikrocontroller und Digitale Elektronik Interrupts


von Marc (Gast)


Lesenswert?

Hallo,

ich habe ein kleines Problem mit Interrupts.
Ich möchte das ein Interrupt ausgelöst wird wenn von dem UART etwas 
empfangen wurde.
Dafür habe ich folgende Tabelle im Assemblercode eingefügt:
.org  0x000
  rjmp  main
  reti
  reti
  reti
  reti
  reti
  reti
  reti
  reti
  rjmp  auswahl
  reti
  reti
  reti
Der MC ist ein AT90S8515.
Der Befehl SEI befindet sich natürlich auch in meinem Programm (gleich 
am Anfang).
An der Sprungmarke auswahl steht nur der Befehl um einen Pin am PortA 
auf Highpegel zu setzen. Leider funktioniert das irgendwie nicht. Muss 
ich noch irgendwelche Bits in GIMSK oder sonst irgendeinem Register 
setzen, wenn ja welche????

von Thomas_D (Gast)


Lesenswert?

Da mußt Du mal im Datenblatt im UART-Teil nachgucken. Da steht irgendwo 
wie Du das UART erstmal enabelst. Darfst natürlich nicht vergessen deine 
Interrupt-Routine mit einem reti abzuschließen.

Beitrag #7018765 wurde von einem Moderator gelöscht.
von Falk B. (falk)


Lesenswert?

Marc schrieb im Beitrag #7018765:
> Danke, das hat funktioniert. Hast du noch andere Tipps für mich?

Nach ZWANZIG Jahren eine Rückmeldung? RESPEKT! Du bis ein 
Blitzgescheiter!

gescheit
gescheiter
gescheitert

;-)

von Peter D. (peda)


Lesenswert?

Marc schrieb im Beitrag #7018765:
> Hast du noch andere Tipps für mich?

Nach 20 Jahren hatte ich Assembler schon längst hinter mir gelassen und 
C genommen. Je früher man das macht, umso mehr Zeit spart man.

von Max B. (citgo)


Lesenswert?

Derselbe Troll wie hier:

Beitrag "MC 68 HC 705"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.