von
      
        Sebastian__  (Gast)
      
      
       
    
    
      19.01.2008 11:12  
    
    
     
  
   
  
  
      Hallo,
ich habe im moment ein kleines Problem das sicher lösbar ist ;).
ich habe einen Tabelle mit daten:
 1 uint  sensorCurve [ 21 ] =  {   //kurve Sensor 
2     1023 ,  800 ,    600 ,   475 ,   380 ,   300 ,   267 ,   220 ,   184 ,   155 ,   131 ,    113 ,     98 ,    84 ,   71 ,    60 ,    52 ,    42 ,   27 ,   16 ,   13 
 3 }; 
4 
 5 //und so greife ich darauf zu: 
6 for ( i = 0 ;  i <  20 ;  i ++ ){ 
7     if ( adc <=  sensorCurve [ i ]){ 
 8       match = i ;   
 9     } 
 10 } 
aber wenn ich die Daten so definere:
 1 PROGMEM  uint  sensorCurve [ 21 ] =  {   //kurve Sensor 
2     1023 ,  800 ,    600 ,   475 ,   380 ,   300 ,   267 ,   220 ,   184 ,   155 ,   131 ,    113 ,     98 ,    84 ,   71 ,    60 ,    52 ,    42 ,   27 ,   16 ,   13 
 3 }; 
macht das der Compiler aber es funktioniet nicht mehr.
Wie kann man das so Programmieren, das die Daten im Flash liegen man 
aber in einer einfachen schleife auf das array zugreifen kann.
MfG
Sebastian 
   
  
  
 
      
      
      
      
  
  
  
   
  
  
      const uint sensorCurve[21] PROGMEM = {  //kurve Sensor
    1023, 800,   600,  475,  380,  300,  267,  220,  184,  155,  131, 
113,    98,   84,  71,   60,   52,   42,  27,  16,  13
};
Lessen:
pgm_read_byte(&sensorCurve[1]); 
   
  
  
 
    
    
         
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.