bjr a tous , je recherche des infos pour transformer un programme en C en fichier hex , je suis bloquer par le compilateur merci d avance. Je vous joint le fichier pour mieux comprendre pourquoi il ne passe pas en hex , le programme fonctionne bien il est deja installer mais lorsque je veux le modifier juste sur une tempo, je bloque pour le compiler. j 'utilise mplab v3.25
Code:#include <16f1936.h> #fuses INTRC_IO,NOWDT,PUT,NOLVP,NOPROTECT,NOMCLR,NOCPD,WRT, #use delay (clock = 16mhz) #byte port_a = 0x0C #byte port_b = 0x0D #byte port_c = 0x0E #byte port_e = 0x10 #define LED1 PIN_C3 #define LED2 PIN_C0 #define LED3 PIN_C5 #define LED4 PIN_C4 #define M1A PIN_B3 #define M1B PIN_B2 #define BP PIN_B4 #define CLK PIN_B0 #define LEDIR PIN_B5 #define BP PIN_B4 #define ON output_high #define OFF output_low int PassageChat,BacacaPlein; unsigned long int i,j,TempButton,delayPass,TBP,TMot1n,TMot1r; unsigned int8 VitesseMot3,VitesseMot2,Menu,MemMenu; void dimmer() { setup_oscillator(OSC_16MHZ); setup_timer_2(T2_DIV_BY_1,255,1); setup_ccp1(CCP_PWM); set_pwm1_duty(VitesseMot3); setup_ccp2(CCP_PWM); set_pwm2_duty(VitesseMot2); } void ModulationIR() { for(i=0;i<=36;i++) { ON(LEDIR); delay_us (28); OFF(LEDIR); delay_us (26); } if(i==37) { ON(CLK); delay_ms (1); } } void gencode() { OFF(CLK); ModulationIR(); OFF(CLK); OFF(LEDIR); delay_ms (1); ON(CLK); delay_ms (1); OFF(CLK); ModulationIR(); OFF(CLK); ModulationIR(); OFF(CLK); ModulationIR(); OFF(CLK); OFF(LEDIR); delay_ms (1); ON(CLK); delay_ms (1); OFF(CLK); OFF(LEDIR); delay_ms (1); ON(CLK); delay_ms (1); OFF(CLK); ModulationIR(); OFF(CLK); bit_clear(port_B,5); delay_ms (2); } void ButtonBP() { if(bit_test(port_B,4)) { while(bit_test(port_B,4)) { delay_ms(10); TempButton++; if (TempButton>=TBP) { ON(LED1); ON(LED2); ON(LED3); ON(LED4); } } if((!bit_test(port_B,4))&&(TempButton<TBP)) { if(Menu<=0x04) { TempButton=0; Menu++; delay_ms(10); } if(Menu==0x05) { TempButton=0; Menu=0x01; delay_ms(10); } } else if((!bit_test(port_B,4))&&(TempButton>=TBP)) { Menu=0X00; TempButton=0; delay_ms(10); } } } void Mot1Av() { OFF(M1A); ON(M1B); } void Mot1Arr() { ON(M1A); OFF(M1B); } void Mot1Stop() { OFF(M1A); OFF(M1B); } void Nettoyage() { VitesseMot2=255; dimmer(); for(i=0;i<10;i++) { delay_ms(2000); } Mot1Av(); delay_ms(TMot1n); delay_ms(TMot1n); Mot1Stop(); delay_ms(1000); VitesseMot3=255; dimmer(); Mot1Arr(); delay_ms(TMot1r); VitesseMot3=0; dimmer(); delay_ms(200); VitesseMot2=0; dimmer(); Mot1Stop(); BacacaPlein++; } void main() { port_A=0; port_B=0; port_C=0; TempButton=0; TBP=250; TMot1n=7100; TMot1r=5000; j=0; PassageChat=0; delayPass=0; BacacaPlein=0; set_tris_a(0xFF); set_tris_b(0x12); set_tris_c(0x80); set_tris_e(0xFF); Mot1Stop(); VitesseMot3=0; VitesseMot2=0; dimmer(); for(i=0;i<1;i++) { ON(LED1); ON(LED2); ON(LED3); ON(LED4); delay_ms(250); OFF(LED1); OFF(LED2); OFF(LED3); OFF(LED4); delay_ms(200); } Menu=read_eeprom(MemMenu); delay_ms(200); if((Menu!=0x00)&&(Menu!=0x01)&&(Menu!=0x02)&&(Menu!=0x03)&&(Menu!=0x04)) { Menu=0x00; } for(;;) { ButtonBP(); if(BacacaPlein>=5) { Menu=0; } if(Menu==0x00) { write_eeprom(MemMenu,Menu); while(menu==0x00) { ButtonBP(); gencode(); if (port_A==0x46) { ON(LED1); ON(LED2);
-----