Hallo zusammen,
ich habe für meine atmega328p eine Funktion, die beim ersten Aufruf in
die Zelle 0 des eeproms einträgt und beim zweiten aufrufen in die Zelle
1.
Falls die Funktion nur einmal aufgerufen wird, wird der Float korrekt in
Zelle 0 eingetragen. Rufe ich aber ein zweites mal die Funktion auf um
auch in Zelle 1 was einzutragen, dann ist der Inhalt in Zelle 1 nicht
mehr korrekt.
Weiß einer wie ich dieses Problem lösen kann?
Hier die Funktion:
1 | void calibrate(int emg){
|
2 | _delay_ms(2000);
|
3 | emg_adc(emg);
|
4 |
|
5 | if(emg == 0){
|
6 | switch(calibrate_counter1){
|
7 | case 0:
|
8 | emg1_offset = emg1;
|
9 | calibrate_counter1 ++;
|
10 | succes_LED();
|
11 | eeprom_write_float(0, 11.22);
|
12 | break;
|
13 | case 1:
|
14 | _delay_ms(2000);
|
15 | emg_adc(emg);
|
16 | amp_emg1 = emg1;
|
17 | calibrate_counter1 = 0;
|
18 | succes_LED();
|
19 | eeprom_write_float(1, 22.22);
|
20 | break;
|
21 | }
|
22 | }
|
23 | }
|