SpenceKonde / megaTinyCore

Arduino core for the tinyAVR 0/1/2-series - Ones's digit 2,4,5,7 (pincount, 8,14,20,24), tens digit 0, 1, or 2 (featureset), preceded by flash in kb. Library maintainers: porting help available!
Other
563 stars 148 forks source link

attachInterrupt, a big hole in documentation and no example #1152

Open PM04290 opened 1 month ago

PM04290 commented 1 month ago

For several days I have been struggling with an ATTiny3216 to understand why in standby, when I use attachInterrupt I have 200µA of consumption when I should only have 2µA. In fact I was using the function like this: attachInterrupt(PIN_PA5, myFunc, FALLING) while it should be used like this: attachInterrupt(digitalPinToInterrupt(PIN_PA5), myFunc, FALLING) the first parameter is named "pin", for me it seemed logical. the documentation should be improved and an example put

hmeijdam commented 1 month ago

I am not sure that Attachinterrupt is MegatinyCore specific. It seems a generic Arduino function that has it's own reference documentation overhere

It has an example, including the mentioned "digitalPinToInterrupt"

const byte ledPin = 13;
const byte interruptPin = 2;
volatile byte state = LOW;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(interruptPin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
}

void loop() {
  digitalWrite(ledPin, state);
}

void blink() {
  state = !state;
}