Discussions Générales > Bus CAN

Problème reception rapide CAN

(1/2) > >>

mavrik:
Bonjour a tous,


J'ai un problème avec mon programme. Je reçoit bien les trame CAN souhaité si elle sont envoyé toutes les 1000ms. Dés que j'essaie de passer a 100ms le programme se fige.

Je ne trouve pas pourquoi.

Dominique:
Bonjour,
Est-ce que vous pourriez commencer par simplifier votre programme pour ne conserver que la partie Can et, par exemple, compter les messages Can et afficher les compteurs toutes les secondes.

Comme il est courant de recevoir plusieurs centaines de messages par seconde, vu les exemples que nous décrivons sur Locoduino, qui marchent, je suis certain que votre problème est ailleurs.

En plus votre programme ne semble pas se rapporter au modélisme ferroviaire (une station météo ?) et comporte de multiples raisons de se bloquer (des conditions de sortie des boucles while, plutôt restrictives), peut-être des conflits d’interruptions, une lourde partie graphique et apparemment 2 voies Can, le tout dans un programme assez mal organisé.



Jean-Luc:
C'est pour de la voiture.

Vous avez des delay(xxx) partout avec xxx valant des centaines de ms. Pendant ce temps les messages arrivant tous les 100ms saturent le MCP2515.

Ça ne marchera jamais. C'est impossible de tenir un débit autre que ridicule avec du code bloquant. Tout est à réécrire.

mavrik:
Bonjour,

Effectivement c'est pour commander une soufflerie en CAN suivant une T° moteur reçu par CAN d'une voiture.

Pas de soucis pour refaire le programme mais comment le structurer ?

Merci d'avance pour votre aide.

msport:
Bonjour,

pourquoi ne pas commencer par faire quelques recherches sur le site éditorial ?

à lire et relire :

http://locoduino.org/spip.php?article6

http://www.locoduino.org/spip.php?id_mot=28&page=theme
http://locoduino.org/spip.php?id_mot=30&page=theme

Bon courage.

Navigation

[0] Index des messages

[#] Page suivante

Utiliser la version classique