Questions tagged [isr]

Interrupt Service Routine. A function which gets called in response to an interrupt signal.

Filter by
Sorted by
Tagged with
8
votes
2answers
4k views

Arduino interruption (on pin change)

I use the interrupt function to fill an array with values received from digitalRead(). void setup() { Serial.begin(115200); attachInterrupt(0, test_func, CHANGE); } void ...
8
votes
2answers
3k views

How to update a variable in an ISR using Timers

I'm trying to check the frequency of Timer3 using a counter. The value of the counter, declared as volatile, is incremented in the ISR and every second the sum is shown in the main loop and the value ...
7
votes
2answers
14k views

Why the need to use the volatile keyword on global variables when handling interrupts in Arduino?

I am familiar with the keyword Volatile being used to declare variables that are shared among multiple threads on a software application (basically on a multithreaded application). But why do I need ...
21
votes
3answers
5k views

Can a function be called automatically when an input changes?

Currently, my sketch is checking an input pin every time round the main loop. If it detects a change, it calls a custom function to respond to it. Here's the code (trimmed down to the essentials): ...
3
votes
3answers
1k views

What is the right way to query an I2C device from an interrupt service routine?

The ADXL345, for example, requires that interrupts are responded to by querying the INT_SOURCE (interrupt source) register. In example code for the SparkFun ADXL345 Arduino Library, there is code that ...
0
votes
4answers
11k views

How to set up one second interrupt/ISR for ds3231 RTC

I am able to set up one hz interrupts using millis and other timers, but would like to do it instead using the RTC I have attached (DS3231) I am not sure how I can do that. Can someone point me to a ...
0
votes
1answer
173 views

Arduino ISR timing question

Im trying to understand how the Arduino ISR keeps track of timing between pulses stored in a variable, if that variable is latter used. Say, for example, you have a magnet mounted on a circular ...