Bonjour à tous,
Je suis actuellement en école d'ingénieur et dans le cadre d'un de mes projets, je dois réaliser une communication par bus CAN entre deux microcontrôleur AT90CAN128.
Toute la partie communication CAN fonctionne. Le seul problème est que l'envoie de la trame CAN se fait par un appuie sur un bouton relier au port C. J'ai donc élaboré le code suivant (juste pour lire l'appuie sur le bouton et allumer des diodes en fonction)
/////////////////////////////////////////////////////////////////
nt main
{
int c;
c=100;
while(1)
{


if(bit_is_set(PINC,0))// Detecte le changement de bit
{
c=c-1;
if(c<5)
{
c=100;
PORTA=0x0F;
}
else
{

}
}
else{PORTA=0xF0;}

for(i=0;i<8000;i++)
{
}
}//Fin Tant que

return 0;

}[/I]
//////////////////////////////////////////////////////////////:

Le problème est, bien que que l'appuie soit détecté, c'est que le programme rentre tout seul dans la boucle qui détecte le changement de bit au bout d'un certain temps.

Si quelqu'un a une solution je suis preneur, parce que moi je m'arrache les cheveux car je ne vois pas d'où vient le problème (surement un truc tout bête)!!

Merci

Je suis à votre disposition pour de plus amples informations.