après de nombreuses heure à essayer je me lance et demande votre aide...
J'aimerai établir une communication entre plusieurs cartes arduino au travers du protocole CAN (et avec le module MCP 2515).
D'après les nombreux sujets sur internet c'est tout ce qu'il y a de plus classique.
Salut,
Merci de ton retour, je n'ai effectivement pas regardé dans les librairies, mais j'ai suivi différents exemples (que je trouve très détaillés) comme : https://www.locoduino.org/spip.php?article148
Pour moi il y a bien un problème à la création de l'objet "CAN" :
Salut.
Les librairies évoluent et les auteurs de tutos n'utilisent pas forcément la dernière version, et ils ne mettent pas systématiquement à jour leurs exemples en fonction des évolutions des librairies.
De ce que je vois, jusqu'à la version 1.3.0 la classe MCP_CAN était une classe gérant uniquement le MCP_2515. Depuis la version 2.0.0, la classe est devenue abstraite (donc tu ne peux pas l'instancier) et sert de classe de base pour mcp2518fd et mcp2515_can.
Utilise plutôt une classe dérivée, comme mcp2515_can.
Salut,
Merci pour ton éclairage, effectivement la version peut-être pour quelque chose. J'espère avoir le temps ce soir de tester avec la classe mcp2515_can.
J'ai donc changé l'appel de classe par mcp2515_can, et j'ai également remplacé la déclaration de l'objet en me fiant à ce que j'ai trouvé dans la classe mcp251_can :
class mcp2515_can : public MCP_CAN
J'ai déclaré l'objet CAN ainsi :
mcp2515_can CAN(spiCSPin);
Et ça compile !
Je vais maintenant essayer de suivre un des exemple de la librairie afin de faire communiquer mes 2 arduinos en vu des premiers tests...