Bonjour à tous,
Je souhaite réaliser une commande moteur dont le mouvement est mémorisé par apprentissage.
Je suis une vraie "bille" en programmation, mais j'aime me creuser la tete et essayer de comprendre les choses.
Première étape, je veux déclencher mon TIMER0 à partir d'un front montant sur RB0. A chaque débordement du TIMER0, j'incrémente une variable . Au prochain front montant sur RB0, le compteur s'arrete, et je mémorise la valeur.
J'ai farfouillé un peu partout sur le net mais j'avoue qu'à force je commence à tout mélanger...
Voici mon code: (on ne rigole pas svp )
void init_timer(void)
{
OPTION_REG=0x57; //Horloge interne, RB0 sur FRONT MONTANT, div par 256
INTCON = 0xB0; // Activation des interruptions sur RB0
PORTB = 0;
TRISB = 1; // PORTB EN ENTREE
PORTC = 0;
TRISC = 0;
PORTD = 0;
TRISD = 0;
PORTA = 0;
TMR0=0;
}
void interrupt (unsigned long x)
{
if (INTCON.INTF) // si interruption
{ VAL_TEMPS=VAL_TEMPS++;
INTCON.INTF=0; //RAZ du flag
x=VAL_TEMPS+TMR0;
}
void main()
{ init_timer();
}
Merci à tout ceux qui prendront la peine de me lire!
-----