Bonjour,
Je veux controler une led à distance avec un arduino uno comme emmeteur et un ATtiny85 comme recepteur. La partie emmeteur marche bien mais la partie recepteur pose problème, le problème vient de la ligne man.beginReceive(); (qui est je pense indispensable pour recevoir quelque chose). Quand je met cette ligne, TOUT le programme est executé 10 fois plus lentement, la reception est donc impossible.
J'ai fait le test avec un programme "allégé" en mettant cette ligne et une peu de code pour faire clignoter une led :
La led, qui devrait s'allumer et s'eteindre toute les secondes, reste allumée 10 sec et eteinte 5 sec. Si je met la ligne man.beginReceive(); en commentaire (ou en l'enlevant), la led marche normalement toutes les secondes. La programmation de l'ATtiny85 à l'aide d'un autre arduino marche donc bien.Code:#include <Manchester.h> #define RX_PIN 1 void setup() { man.setupReceive(RX_PIN, MAN_1200); man.beginReceive(); pinMode(2, OUTPUT); } void loop() { digitalWrite(2, HIGH); delay(1000); digitalWrite(2, LOW); delay(500); }
J'ai aussi essayer de mettre le même code (enfin juste en changeant le pin RX) sur une autre arduino sans mettre man.beginReceive(); en commentaire : le programme marche parfaitement.
C'est donc bien cette ligne qui pose problème et uniquement sur l'ATtiny
Pourquoi l'ATtiny est t-il ralenti par cette ligne et comment le faire marcher ?
-----