Salut
J'ai un ATmega128 auquel j'ai relié 8 interrupteurs sur 8 entrées d'un port, et l'action d'un de ces interrupteurs déclenche une interruption sur la pin INT6 (cablage à l'aide de diode)
J'utilise WinAVR sous AVRStudio4.14 et le JTAG.
Dans ma routine d'interruption, j'ai un compteur qui s'incrémente histoire de savoir (pour le débug) combien de fois cette routine est executée.
Je lance le programme, cette variable est à 0... J'appuie sur un bouton (n'importe lequel), et la variable passe à des valeurs astronomiques, du genre 16000 !!!
C'est aléatoire mais en tout cas très au dessus de ce que j'attends, c'est à dire 1 !!
Je veux bien que les interrupteurs aient un certain rebond, mais 16000 rebonds......
Je ne veux pas trop m'emmerder à faire un antirebonds hardware car je veux un système compact, et si j'ai 8 interrupteurs pour l'instant, ça passera à 16 bientôt.... donc je ne veux éviter d'avoir à mettre 16 fois le même montage antirebonds.... à moins que vous me donniez LA solution que je ne connais pas ?
J'ai mis un tempo de quelques ms dans ma routine d'interruption, le compteur augmente de quelques dizaines, voir centaines... C'est mieux que 16000 mais ce n'est pas encore idéal.
Je ne sais pas si une routine d'interruption peut être interrompue par la même interruption avec WinAVR ? parce que je suppose que le problème est là... J'ai beau temporiser, l'interruption est interrompue..

