Réaliser un fréquencemètre non bloquant

a marqué ce sujet comme résolu.

Bonjour, C'est mon premier message sur ZdS, mais vous m'avez peut-être déjà vu sur le SdZ ;-) (tiens les acronymes sont palindromiques :p )

Voilà mon problème, j'ai deux Arduino qui communiquent en CAN (au moyen d'un shield) l'une avec l'autre. Cela leur prend beaucoup de temps de calcul, si je puis dire. Or une de mes Arduino doit récupérer une fréquence que lui envoie un capteur, pour à son tour l'envoyer à l'autre Arduino. Seulement toutes les méthodes que j'ai trouvé utilisent les fonctions millis() et comptent. J'ai peur que cela empêche de recevoir un message du CAN pendant ce temps.

Auriez vous une idée d'une autre méthode qui ne soit pas bloquante ?

Merci d'avance, Dark Patate.

PS : Voici le shield CAN

PPS : la fréquence maximale qu'il y a détecter est de l'ordre de 30 kHz, mais en fonctionnement normal, l'ordre de grandeur est plus de 9 kHz.

+0 -0

pour faire un vrai fréquencemètre, il faudrait utiliser une entrée compteur et s'atteler aux interruptions pour faire un truc propre (go google pour dégrossir je pense). Attention, on sort des sentiers battus de l'Arduino mais je pense que pour quelqu'un sachant utiliser un bus CAN ca devrait aller :)

+0 -0

Ok, je vais regarder pour les entrées compteur. Après, pour les interruptions, j'avais peur que ce soit trop bloquant pour le processus de base ; de le couper 10000 fois par seconde.

Après l'utilisation du bus avec le shield est très simplifié (même optique qu'Arduino), je ne gère par tous les bits d'une trame. Bon j'ai quand même dû m'arracher plusieurs fois les cheveux à cause du manque de documentation :p

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte