salut a tous le monde
je suis un étudiant et j'ai un projet de fin d'étude la réalisation d'un encodeur relatif rotatif et l'installer dans un réseaux industrielle.
et en sa j'ai une partie de programmation de pic 16f628, elle s'agit de resoie de sortie de l'encodeur A et B l'un contient des impulsions pour connaitre la vitesse de rotation et l'autre pour connaitre le sens de rotation. et après le pic il faut ces donner a travail une trame série RS232.
ma problème que je réalise un programme qui peux connaitre le sens et un autre qui calcule les impulsion pour la vitesse de rotation et je configurée la pic pour la connexion série
voila mon programme mais je réussite pas d'appeler les fonction dans le void main
j'attends votre conseille et votre aide et merci d'avance
void Serial_Init(void) // Initialisation Port série 19200 baud 9 data bit, 1 bit stop, pas de parité
{
bit bSerie;
RCIE_BIT=1; // valide l'interruption de réception
RCSTA=0b10000000; // SPEN=1 valide le port série,CREN=0 ne recoi rien
TXSTA=0b01100000; // TX9=1 valide la réception de données 9bits, TXEN 1 autorise émission de données
SPBRG=25; // 9600 Baud @ 4 MHz-clockfrequency
TRISB = 0b00000010; //2 serial_out is output 1 serial_in is input
}
bit_putchar( char d_out ) // sends one char
{
if(d_out == '\0') return 0; // refuse to send 0 "end of string"
while (!TXIF) ; //attend jusqu'ŕ ce que le caractčre Précédant transmis
TXREG = d_out;
return 1; // fini
}
void sens ()
{
int DATA;
int DATA1;
for(;
{
while(PORTA,3)
{
DATA=PORTA,3;
PORTB=DATA;
}
while(!PORTA,3)
{
DATA1=PORTA,3;
PORTB=DATA1;
}
}
}
void comteur_impulsion() //preparation le compteur d'impulsion sur le port RB7
{
TMR1CS_BIT=1;
T1OSCEN_BIT=1;
TMR1ON_BIT=1;
TMR1L=0;
}
void main()
{
}
-----