Forum: Mikrocontroller und Digitale Elektronik AVR Butterfly M169 ext. Interrupt an PB4


von Hilel (Gast)


Lesenswert?

Hallo liebe Forumfreunde.
ich versuche verzweifelt ein Interrupt an PB4 auszulösen. Mit dem 
Simulator klappt es so weit. Wenn ich das Programm zum Butterfly 
übertrage, weigert es sich. Hat jemand eine Idee, woran es liegen 
könnte?

.nolist
.include "m169def.inc"
.list

.cseg
.org 0            ; Programm startet bei Adresse 0x0000

jmp    RESET                 ; Reset Handler
jmp    EXT_INT0              ; IRQ0 Handler
jmp    PC_INT0               ; PCINT0 Handler
jmp    PC_INT1              ; PCINT1 Handler
jmp    TIM2_COMP            ; Timer2 Compare Handler
jmp    TIM2_OVF              ; Timer2 Overflow Handler
jmp    TIM1_CAPT            ; Timer1 Capture Handler
jmp    TIM1_COMPA           ; Timer1 CompareA Handler
jmp    TIM1_COMPB           ; Timer1 CompareB Handler
jmp    TIM1_OVF              ; Timer1 Overflow Handler
jmp    TIM0_COMP            ; Timer0 Compare Handler
jmp    TIM0_OVF              ; Timer0 Overflow Handler
jmp    SPI_STC              ; SPI Transfer Complete Handler
jmp    USART_RXC            ; USART RX Complete Handler
jmp    USART_DRE            ; USART,UDR Empty Handler
jmp    USART_TXC            ; USART TX Complete Handler
jmp    USI_STRT              ; USI Start Condition Handler
jmp    USI_OVFL              ; USI Overflow Handler
jmp    ANA_COMP              ; Analog Comparator Handler
jmp    ADC_CC               ; ADC Conversion Complete Handler
jmp    EE_RDY               ; EEPROM Ready Handler
jmp    SPM_RDY              ; SPM Ready Handler
jmp    LCD_SOF              ; LCD Start of Frame Handler ;

RESET:             ; Main program start

  cbi DDRB,7;
         cbi DDRB,6;
         cbi DDRB,4;
  sbi PORTB,7
  sbi PORTB,6
  sbi PORTB,4

  ldi r16, 0xFF
  out DDRD, r16           ; Port D ist Ausgang

  ldi r16, 0xFF       ; alle LEDs aus
  out PORTD, r16

  ldi      r16, high(RAMEND)
  out      SPH,r16            ; Set Stack Pointer to top of RAM
  ldi      r16, low(RAMEND)
  out      SPL,r16

  ldi   r16, (1<<PCIE1)   ; Freigabe Interrupt PCINT12 an PB4
   out   EIMSK, r16

  ldi   r16, (1<<PCIF1)
   out   EIFR, r16

  ldi   r16, (1<<PCINT12)
   sts   PCMSK1, r16

  sei;
loop:
  cbi PORTD,7    ; LED an PB7 an
  cbi PORTD,6    ; LED an PB6 an
  rjmp loop

 ;
PC_INT1:

  sbi PORTD,7          ; LED an PB7 aus
  sbi PORTD,6    ; LED an PB6 aus
  ldi r16,(1<<PCIF1)
         out EIFR,r16    ; Delete pin change interrupt flags
  reti ;

EXT_INT0:   reti ;
PC_INT0:   reti ;
TIM2_COMP:   reti ;
TIM2_OVF:   reti ;
TIM1_CAPT:   reti ;
TIM1_COMPA: reti ;
TIM1_COMPB: reti ;
TIM1_OVF:   reti ;
TIM0_COMP:   reti ;
TIM0_OVF:   reti ;
SPI_STC:   reti ;
USART_RXC:   reti ;
USART_DRE:   reti ;
USART_TXC:   reti ;
USI_STRT:   reti ;
USI_OVFL:   reti ;
ANA_COMP:   reti ;
ADC_CC:   reti ;
EE_RDY:   reti ;
SPM_RDY:   reti ;
LCD_SOF:   reti ;

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.