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.