Interrupt für eingänge/ AVR

OP #980708
Lesenswert?

Hallo liebe Leute,

ich habe folgendes Problem: Ich versuche im Moment (nur im Simulator) 
eine Interruptgesteuerte Eingangsabfrage zu machen. Ich hab mich im GCC 
Tutorial ein wenig schlau gemacht und dann bin ich zu dem folgenden 
Quellcode gekommen:
1
#include <avr/io.h>         
2
#include <avr/interrupt.h>
3
#include <stdint.h>
4

5
int main(void)
6
{
7
  
8

9
  DDRD = 0x00;
10
  DDRA = 0xFF;
11
  PORTA = 0x00;
12
  
13
  
14

15
  GIMSK |= (1 << INT1);                 // Interrupt von INT1 enablen
16
  MCUCR |= (1 << ISC10) | (1 << ISC11); // Interrupt on rising edge
17
  sei();
18

19
  for (;;)
20
  {
21
  
22
   PORTA=PORTA+1;
23

24
  }
25
  
26
}
27

28
SIGNAL (SIG_INTERRUPT1)
29
{
30
PORTA=0x00;
31
}

Das Programm soll PortA hochzählen lassen, und sobald am INT1 eine 
Änderung da ist, soll er ihn wieder 0 setzen.

Ich danke für eure Hilfe bereits im Voraus
OP #980771
Lesenswert?

Stefan Ernst wrote:
> Marco Müllner wrote:
>> Im PIND 3 natürlich... warum sollte ich den ausgang high setzen?
>
> Oh entschuldige, dass ich ein mögliches Versehen deinerseits in Betracht
> gezogen habe. Ich wusste ja nicht, dass du dagegen gefeit bist.

sorry^^ Es nervt mich nur im Moment ein wenig. Könnte es vllt sein dass 
ich noch die iom16.h einbinden muss?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren