J'ai un petit soucis, je dois compter des pulses sur deux secondes qui arrivent à environ 200 khz. A l'aide d'un Arduino uno et d'une interruption, je n'arrive pas à compter tous les pulses (en gros je dois être limité à 40 khz, du coup il m'en manque beaucoup...)
Je ne sais pas si je peux continuer avec l'Arduino et le coupler avec un compteur par exemple (je ne sais pas quoi prendre - ?synchrone 32 bits?), ou prendre quelque chose de plus puissant?
Il faut également être sur que la tension envoyé vers la Pin permettant l'interruption est assez élevé pour déclencher un état haut ou suffisement basse pour déclencher un état bas. à 200 kHz, il est possible d'avoir besoin de filtrer le signal à l'aide de composant afin de qu'il soit bien détecté par le type de déclenchement RISING
fdufnews:
Il doit y avoir une solution en utilisant l'entrée externe d'un timer.
Je vais chercher un peu
Bonsoir Fdufnews
Dans le meme ordre d'idée, j'avais réalisé juste pour le fun la joie
un fréquencemètre ~50 MhZ qui tournait de mémoire sur un PIC 16F (16 ou 20 Mhz en clock horloge) avec affichage LCD
reste quand même ce niveau high=1V à éclaircir 8)
Merci beaucoup pour vos aides! Je vais vérifier que la tension est bien de 1volt car je ne suis plus sur, je pourrais seulement faire mes mesures lundi. Mais je dois me tromper, car c'est vrai qu'un volt n'est pas suffisant!
Humm 200KHz ... ça fait 16 000 000 / 200 000 = 80 cycles d'horloge maximum par interruption.
Si on compte juste la sauvegarde et la restauration du contexte d'exécution en entrant / sortant de l'interruption ça fait déjà quasiment les 80 cycles !
À une telle fréquence ton code n'est donc pas viable.
Ce qu'il te faut c'est (au choix) :
un timer en mode comptage d'impulsions + interruption cyclique à un intervalle défini (principe des tachymètres)
un timer en mode comptage interne avec déclenchement/arret sur une broche externe (dont tu lit la valeur de temps en temps)
Dans les deux cas c'est bien au delà de la simple programmation "arduino", il te faudra mettre le nez dans la doc et les registres de l'ATmega328p