Forum: Mikrocontroller und Digitale Elektronik Bitte Hilfe !! PinCange-Interrupt will nicht gehen


von UBoot-Stocki (Gast)


Lesenswert?

Hallo Leute,

ich häng seit zwei Tagen an folgendem Codefragment. Wie man sieht 
versuche ich den PIN-Change-Interrupt eines ATTiny15 zu benutzen. Wenn 
ich in folgendem Code den PIN 2 des IC (PortB 4) auf Masse lege, fürhr 
er trotzdem weiter munter seine Interrupts aus und verzweigt IMMER in 
meine Interrupt-Routine ...

Warum ? Stimmt da was am Environment nicht ?!

Wer kann mir helfen ?

Besten Dank schon mal

UBoot-Stocki

.include "tn15def.inc"

.org 0x000        ; Programm kommt an Anfang von PROM

.def temp = r16        ; temporäres Register definieren
.def led = r17

initint:
    rjmp init     ; Reset handler
    reti       ; IRQ0 handler
    rjmp pinchg    ; Pin change handler
    reti       ; Timer1 compare match
    reti       ; Timer1 overflow handler
    reti      ; Timer0 overflow handler
    reti       ; EEPROM Ready handler
    reti       ; Analog Comparator handler
    reti       ; ADC Conversion Handler

init:
    ldi temp, 0b11101111
    out DDRB, temp    ; Port PB3 als Ausgang, PB4 Eingang

    ldi led, 1    ; LED initialisieren

    ldi temp, 0b00100000
    out GIMSK, temp    ; Pin-Change Interrupt enable

    sei      ; Interrupts freigeben

    rjmp main    ; Programmstart

pinchg:
    in temp, PORTB
    andi temp, 0b00010000  ; vergleicht ob BIT PB4 gesetzt ist
    brne pinend

    ... hier soll was passieren ...

pinend:    reti

main:          ; Hauptprogramm
    rjmp main

von UBoot-Stocki (Gast)


Lesenswert?

Hi,

niemand ne Idee ?

Gruß

UBoot-Stocki

von mikki merten (Gast)


Lesenswert?

Böser Fehler:

in temp, PORTB    ;falsch !!!

richtig:

in temp, PINB

hab ich vorher auch überlesen

von UBoot-Stocki (Gast)


Lesenswert?

Hi Mikki,

vielen Dank für den TIP. Das war aber nur die halbe Miete ;-)

Offensichtlich setzt der PIN-Change-Interrupt voraus, daß der Eingang 
nicht offen ist. Wenn man als die Pull-Ups des Ports setzt gehts sofort 
!!!

Steht das irgendwo ? Habs nur durch Zufall entdeckt ...

Gruß

UBoot-Stocki

von mikki merten (Gast)


Lesenswert?

Offene Eingänge sind undefiniert, steht aber so auch in "fast" jedem 
Datenblatt!

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.