bonjour ,
ci dessous le code suivant il permet de stocker deux valeurs à travers 2 boutons puis les lire pour l'utiliser dans la fonction en simulation les deux valeurs sont sauvegardés correctement lorsque j'ai programmé le pic et je fait les tests pratiques , j'ai réalisé que anque je coupe pas l'alimentation tout vas bien , lorsque je la coupe et je la l'allume une autre fois les deux valeurs stockes sont perdus et j'ai besoin de refaire la procedure . une petite aide s'il vous plait et merci
Code:
unsigned short current_duty, old_duty, current_duty1, old_duty1;
float valeur ,adc,maxi,mini,v ;
void InitMain() {
 ANSEL  = 0x04;              // Configure AN2 pin as analog
  ANSELH = 0;                 // Configure other AN pins as digital I/O
  C1ON_bit = 0;               // Disable comparators
  C2ON_bit = 0;

  TRISA  = 0xFF; 
  PORTC = 0;            // PORTA is input
  TRISC  = 0x00;                 // PORTC is output
  PORTB=0 ;
  TRISB = 0b00000011;


               // PORTB is input
  TRISD = 0x00;                          // designate PORTC pins as output
  PWM1_Init(10000);                    // Initialize PWM1 module at 5KHz

}

void main() {
  InitMain();
  current_duty  = 248;                 // initial value for current_duty


  PWM1_Start();                       // start PWM1

  PWM1_Set_Duty(current_duty);        // Set current duty for PWM1


  while (1) {
         mini== EEPROM_Read(0x01);
  maxi== EEPROM_Read(0x00);
   valeur = ADC_Read(2);
     adc=valeur/4 ;
                    

  
       
       if (Rb0_bit)   //If the switch is pressed
    {   maxi=adc;
       EEPROM_Write(0x00,maxi);

       RB3_bit=1;
       delay_ms(100);
       RB3_bit=0;
       delay_ms(100);
     
        }
     

    if (rb1_bit)   //If the switch2 is pressed
    {
         mini=adc;
         EEPROM_Write(0x01,mini);

        RB4_bit=1;
         delay_ms(100);
         RB4_bit=0;
         delay_ms(100);
       
        }
        

    
      v=((255/(maxi-mini))*(adc-mini));
      portd=v;
                         }
}