Many processors / µCs / dev-platforms (BeagleBoard, Arduino,...) use interrupts.
These can be triggered by the detection of:
- HIGH level
- RISING edge
- CHANGING level (either FALLING or RISING edge)
- FALLING edge
- LOW level
Now either of two things must be true:
- FALLING and LOW (/ RISING and HIGH) are virtually the same
- When a LOW (/HIGH) level is applied over a non-trivial time, the controller is stuck repeating the interrupt service routine over and over
Both of these don't make sense to me:
The first cannot be true, since it would be totally useless to make the difference in the first place then.
So if the second one is true: how could this be useful? What application is there that is not better off with a combination of RISING and FALLING instead of HIGH?
Research so far:
- This question is just a stub, so it didn't help: https://electronics.stackexchange.com/questions/92833/what-is-the-difference-between-level-triggering-and-edge-triggering
- This one is also not too useful as it is about when those interrupts are triggered, not the implications of the differences: What does edge triggered and level triggered mean?
- This one mainly elaborates on the differences in detection of the different trigger events: Why edge triggering is preferred over level triggering?