j'ai un problème avec la programmation de mon PIC. je vous laisse le code et a vous de m'aidez , si vous voulez bien sur )
MERCI D'AVANCECode:// Déclaration des variables int recepteur ; int porte_ferme ; int verrouiller_portes ; int moteur ; int choc ; int buzz ; int cportes ; // portes ouvertées int rafik ; // détecteur de choc int nedjma ; // l envoy de sms // assignation #define recepteur portd.f7 ; #define buzz portd.f2 ; #define porte_ferme portb.f4 ; // detecteur des portes #define verrouiller_portes porta.f1 ; // verrouillage des portes #define moteur portd.f1; // moteur #define choc portb.f0; // detecteur de choc void envoyer_sms (char X){ UART1_write_text("AT"); // Envoi de la commande AT UART1_write(13); // Code ASCII equivalent pour ENTRE delay_ms(1000); UART1_write_text("AT+CSMS"); // Envoi de la commande "AT+CSMS" pour la selection de service de messagerie UART1_write(13); delay_ms(1000); UART1_write_text("AT+CMGF=1"); // Envoi de la commande "AT+CMGF=1" pour la selection du format du SMS le 1 pour le mode TEXT UART1_write(13); delay_ms(1000); UART1_write_text("AT+CMGS="); // Commande pour l'envoi d'un SMS,on indiquant le numéro du destinataire UART1_write(34); // code ASCII de (") UART1_write_text("+213794075178"); UART1_write(34); // code ASCII de (") UART1_write(13); delay_ms(1000); UART1_write_text(X); // le contenu de notre message UART1_write(13); delay_ms(1000); } void main() { option_reg=0xC0 ; intcon = 0x18 ; pie1=0x0 ; // aucun préphirique n'est autorise a faire une interuption pie2=0x0 ; // adcon1=0x06; //tout les pin sont en I/O numerique trisb=0x91; trisa=0; trisc=0; trisd=0x82; buzz=0 ; rafik=0; cportes=0; Start : while(recepteur==1) { if (nedjma==1) { UART1_init(9600); envoyer_sms("alarme auto") ; nedjma=0; } if(moteur==1) { rafik=0; } } if(buzz==1) // si le buzz est active { buzz=0 ; // désactiver le buzz goto Start ; } else if ( porte_ferme==0) // si les portes sont ouvertées { buzz==1; Delay_ms(1000); buzz=0; goto Start ; } else if ( cportes==1) // si les portes verrouillées { intcon.b7= 0; verrouiller_portes=0 ; cportes=0; goto Start ; } else if(cportes==0) // si les portes déverouillées { verrouiller_portes=1; cportes=1; if(moteur==0) { intcon.f7= 1 ; goto Start; } else { goto Start; } } } void interuption (){ if(intcon.f1==1 ) // detecteur de choc { if(rafik!=4){ buzz=1;Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);rafik=rafik+1;buzz=0; INTCON.F1=0; } else if(rafik=4){ buzz=1;rafik=0;nedjma=1; } intcon.f1=0; } else if (intcon.f0=0) // capteur pir ou ouverteur des portes {intcon.f0=0;buzz=1;nedjma=1; } }
-----