[GELÖST] attiny85 wacht mit externem interrupt nich auf


hallo

mein attiny85 einfach nicht aus dem power down modus aufwachen ( habs nachgemessen ). interrupt liegt auf int0 (physischer pin 7). es hat von einem tag auf den anderen aufgehört zu arbeiten. ich weiß das es 100% funktionieren muss. schaltung ist auch 100% richtig, gibt ja auch nix großartig falsch zu machen ++ --, eine led als debug und pin7 als int0 interrupt konfiguriert. code ist auch 100% richtig. ich bin langsam verzweifeln. entweder bin ich komplett blind und hab irgendwas übersehen oder ka.

habe es 5 attinys probiert, nix geht.

hab testweise auch mal einen ganz anderen code den ich gefunden habe probiert, ich weiß das er funktioniert, hatte ihn schonmal getestet, aber das funktioniert nun auch nicht mehr. wäre vlt jemand nett und könnte folgenden code mit seinem attiny85 testen und mir sagen ob es funktioniert:

edit: code korrigiert
code: [select]
#include <avr/sleep.h>
#include <avr/interrupt.h>

const int switchpin                     = 3;
const int statusled                     = 2;

void setup() {

    pinmode(switchpin, input);
    digitalwrite(switchpin, high);
    pinmode(statusled, output);

    // flash quick sequence know setup has started
    (int k = 0; k < 10; k = k + 1) {
        if (k % 2 == 0) {
            digitalwrite(statusled, high);
            }
        else {
            digitalwrite(statusled, low);
            }
        delay(250);
        } // for
    } // setup

void sleep() {

    gimsk |= _bv(pcie);                     // enable pin change interrupts
    pcmsk |= _bv(pcint3);                   // use pb3 interrupt pin
    adcsra &= ~_bv(aden);                   // adc off
    set_sleep_mode(sleep_mode_pwr_down);    // replaces above statement

    sleep_enable();                         // sets sleep enable bit in mcucr register (se bit)
    sei();                                  // enable interrupts
    sleep_cpu();                            // sleep

    cli();                                  // disable interrupts
    pcmsk &= ~_bv(pcint3);                  // turn off pb3 interrupt pin
    sleep_disable();                        // clear se bit
    adcsra |= _bv(aden);                    // adc on

    sei();                                  // enable interrupts
    } // sleep

isr(pcint0_vect) {
    // called when interrupt occurs, don't need in it
    }

void loop() {
    sleep();
    digitalwrite(statusled, high);
    delay(1000);
    digitalwrite(statusled, low);
    }

wäre vlt jemand nett und könnte folgenden code mit seinem attiny85 testen und mir sagen ob es funktioniert:
heute ruft der sandmann, morgen nachmittag gerne  :smiley-sleep:


Arduino Forum > International > Deutsch (Moderator: uwefed) > [GELÖST] attiny85 wacht mit externem interrupt nich auf


arduino

Comments