This post presents an example of a problem that I had with a defect: “I was troubled by two consecutive timer interrupts that occurred with rare frequency.
In the past, when I was developing engine control software with the first 8-bit microcontroller I used, I was confronted with a phenomenon in which two consecutive timer interrupts occurred on rare occasions, and I had a very difficult time investigating the cause. In my experience at the time, I thought that the timer interrupt status flag operated on edge detection. However, the timer interrupt status flag on this microcontroller operated on level detection. It took me more than a week to realize the cause because the hardware manual did not describe this difference in detail.
I believe that edge detection is the mainstream for microcontrollers these days, but I urge everyone to be careful about making assumptions.