Bonsoir à tous,
je veux envoyer une chaine de caractère de mon PC vers mon PIC16F877 et puis mettre ce que j'envoie comme rapport cyclique du PWM mais ça fonctionne un fois correctement et yne fois non je ne voix pas ou est le problème . j'utilise CCS C compiler pour ma programmation.
s'il vous plait si quelqu'un peux voir ma faute qu'il me contacte
merci d'avance.
voici mon code:Code:#include <16F877.h> #include <string.h> #use delay(clock=4000000) #fuses hs, noprotect, nowdt,nolvp #include <stdlib.h> #include <stdio.h> #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) #define BUFFER_SIZE 32 BYTE buffer[BUFFER_SIZE]; BYTE next_in = 0; int duty; #int_rda void serial_received() { int i; do{ buffer[next_in]=getc(); next_in=(next_in+1) % BUFFER_SIZE; }while(next_in<=2); duty=atoi(buffer); } void main() { output_HIGH(PIN_B1); enable_interrupts(INT_RDA); //interrupt fires when the receive data is available, RS232 ON enable_interrupts(GLOBAL); //activation de sinterruption setup_timer_2(T2_DIV_BY_1,255, 1); //génération du PWM setup_ccp1(CCP_PWM); main_program: do { set_pwm1_duty(duty); }while(TRUE); goto main_program; }
-----