I've got an interesting problem and couldn't turn up anything on a search.
I've got some hall-effect sensors hooked up to the external interrupts on an ATMega16. There are three sensors, one each on Int0, Int1, and Int2. Input filtering is a simple RC circuit, and identical on each one. Each interrupt is falling edge triggered.
Ok, here's the situation. Int2 "bounces". Badly. Connecting the same sensor to Int0, and rotating my test wheel one revolution may read, say, 100 counts, while Int2 will read over 2000. I've checked this with the sensor connected to Int0 and Int2 at the same time, so the counts should be identical. I've tried some software filtering, a delay loop in the ISR to miss some of the bounces. That seems to remove the bouncing, but then the Int2 input always reads EXACTLY twice as many counts as Int0.
Anyone have any ideas as to what could be causing this?