Gast
#3851268
ich möchte das eeprom Inhalt eines AVRs nach einem bestimmten Wert durchsuchen. Kann ich den Scanvorgang durch das eeprom einfach wie folgt durchführen?
1 | |
2 | |
3 | |
4 | |
5 | |
|
Anzeige
|
eeprom adressierung
Gast
#3851268
ich möchte das eeprom Inhalt eines AVRs nach einem bestimmten Wert durchsuchen. Kann ich den Scanvorgang durch das eeprom einfach wie folgt durchführen?
Gast
#3851291
>ich möchte das eeprom Inhalt eines AVRs nach einem bestimmten Wert >durchsuchen. Wozu? Normalerweise weiss man wo im EEPROM welcher Wert abgelegt ist. Das was du da machen möchtest ist Unsinn.
Gast
#3851313
holger schrieb: > Wozu? Normalerweise weiss man wo im EEPROM welcher > Wert abgelegt ist. Das was du da machen möchtest ist Unsinn. Stell dir folgende Szenarien vor: Könnte man Parameter im EEPROM per avrdude ändern, das Programm im Flash einfach unverändert neu starten und die Paramter neu einlesen? Könnte man Parameter zur Laufzeit im EEPROM verändern und zB nach einem Reset neu einlesen? Unsinn ist was anderes
Gast
#3851324
>Unsinn ist was anderes
Das ist immer noch Unsinn. Wenn du weisst das
dein Wert 3 ist macht es keinen Sinn nach einer
3 im EEPROM zu suchen. Das ist kompletter Schwachsinn.
holger schrieb: > Das ist immer noch Unsinn. Wenn du weisst das > dein Wert 3 ist macht es keinen Sinn nach einer > 3 im EEPROM zu suchen. Das ist kompletter Schwachsinn. Ist es nicht. Mit strlen suche ich in einem String auch nichts anderes, als die abschliessende Null. Was mich aber interessiert, ist die Länge des Strings und nicht die Null selbst. Hier geht es vielleicht um ein ähnliches Problem. Hallo, > holger schrieb: > Wozu? Normalerweise weiss man wo im EEPROM welcher > Wert abgelegt ist. Das was du da machen möchtest ist Unsinn. kann sein, so es sich um einen Parameterspeicher handelt. Ist aber nicht sicher und kann auch anders laufen. Wenn man z.B. Messwerte in einem EEPROM ablegt, braucht man üblicherweise die Position des letzten Eintrages. Wer das mit einem Pointer macht, der dann normal immer auf der gleichen Stelle geschrieben wird, schreibt diese Zelle systematisch tot. Also schreibt man sequentiell in den EEPROM und setzt ans Ende eine Kennung für EoF. Diese muß man dann nach einem Restart natürlich suchen. Bei so einem kleinen EEPROM mit nur 1k wird das aber zugegeben mit dem Messwerte loggen wohl kaum der der Fall sein. Gruß Öletronika
Gast
#3851438
wenn ich mit der funktion eeprom_write_byte ab Stelle 1020 eine Zeichenfolge von 10 Zeichen in den Speicher schreibe, kann ich diese anschließend korrekt lesen. Wie kann das sein, wo werden die bytes ab 1024 hingeschrieben?
Gast
#3851456
holger schrieb: > Wenn du weisst das > dein Wert 3 ist macht es keinen Sinn nach einer > 3 im EEPROM zu suchen. Das ist kompletter Schwachsinn. Kann es sein, dass du nicht weißt, was eeprom_read_byte() eigentlich macht? Wenn du aber nur ein Troll bist, dann schau dir den Unterschied von "das" und "dass" genauer an. "ß" macht auch manchmal Sinn, ebenso die Verwendung von Beistrichen. Franzl schrieb: > Wie kann das sein, wo werden die bytes ab 1024 hingeschrieben? Ich nehme an, du nimmst an, dein EEPROM ist ein KiB groß. Könnte gut sein, dass du ab 1024 wieder bei 0 beginnend im EEPROM "weiter"(über)schreibst.
Gast
#3851602
last schrieb: > schau dir den Unterschied > von "das" und "dass" genauer an. "ß" macht auch manchmal Sinn ich lass mich gern von dir aufklären... Franzl schrieb: > for (int i=1;i<1025;i++) //bytes 1 bis 1024 Die erste Adresse im EEPROM wird, wie sonst auch überall, 0 sein. Also:
U. M. schrieb: > Bei so einem kleinen EEPROM mit nur 1k wird das aber zugegeben mit dem > Messwerte loggen wohl kaum der der Fall sein. > Gruß Öletronika Hängt davon ab was man misst. Ich hab einen Temperatur&Feuchte-logger gebaut der alle 30 min misst. Da passen dann fast 2 Wochen logging rein... Da hab ich auch '0xED' für "End of day" in den EEPROM geschieben, damit ich die Werte einordnen kann. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|