BID = 462609
hajos118 Schreibmaschine
    
Beiträge: 2453 Wohnort: Untermaiselstein
|
Hallo zusammen -
mangels Hardware kann ich leider mein Problem nicht am "lebenden Objekt" testen, abre vielleicht hat ja schon jemand Erfahrung damit gemacht:
Ich möchte (zwecks Tastenentprellen) die Maske für den Pin-Change-Interrupt beim ATtiny2313 dynamisch umschalten...
Also:
Wenn eine Taste gedrückt wird soll der betreffende Pin vom Pin-change-Interrupt ausgeblendet werden (... und später wieder aktiviert).
Hier der entsprechende Code (nur IRQ-Routine)
SIGNAL(SIG_PCINT)
{
// sensor
if ((PINB & _BV(PCINT5)) == _BV(PCINT5)) mycount++;
// Taste Helligkeit +
if ((PINB & _BV(PCINT6)) == _BV(PCINT6))
{
bright++;
PCMSK = _BV(PCINT5)|_BV(PCINT7); // disable Pin IRQ
if (bright > 9) bright = 10; // max. Helligkeit
}
// Taste Helligkeit -
if ((PINB & _BV(PCINT7)) == _BV(PCINT7))
{
bright--;
PCMSK = _BV(PCINT5)|_BV(PCINT6); //disable Pin IRQ
if (bright < 1) bright = 0; // min. Helligkeit (aus)
}
}
Klappt's oder nicht - lässt sich halt nur mit Hardware testen (die ich z.Zt. gerade nicht verfügbar habe).
|