Bonjour,
J'essaye de coder une application qui permet de faire sortir un signal crénelé (commande de moteur pas à pas).
Voici mon code :
#include <p18f2550.h>
#include <delays.h>
#define q 4,8828e-3 //quantume pour un CAN 10bits 0-5V
#pragma config WDT = OFF
void pas(int sup);
//Programme principal
void main(void){
int i,sup,j;
TRISA = 0b1111110;
TRISB = 0b00110000;
TRISC = 0b00000000;
while(1){
/* for (i=0;i<10;i++)
pas(1);
for (i=0;i<15;i++)
pas(0);*/
/*sup = 0;
if (sup ==1) // Si capteur 3> Capteur 4
PORTBbits.RB0 = 1; //Rotation horaire
else
PORTBbits.RB0 = 0; //Rotation anti horaire*/
PORTBbits.RB1 = 1; // Implusion
Delay10KTCYx(25); // Délai durant implusion
PORTBbits.RB1 = 0; //Remise à zéro après impulsion
Delay10KTCYx(25);
PORTCbits.RC6=1;
}
}
Malheureusement, ce code ne fonctionne pas, aucun signal crénelé sur RB1 et même pas de niveau haut sur RC6 (que j'utilisais pour vérifier l'initialisation de mes ports).
Si quelqu'un voit mon erreur ?
Merci d'avance !
Greg
-----