Hallo, ich suche ein AVR Assembler Beispiel für die Berechung der Prüfziffer des Sensors. Sämtliche gefundenen Programme arbeiten nur mit der Datentabelle. Aus dem Beispiel von Dallas (AN27) werde ich nicht schlau: http://pdfserv.maxim-ic.com/en/an/app27.pdf Hat jemand von Euch einen Tip ? Benutze den 4433. Vielen Dank im Vorraus. Andre
Und warum nimmst Du nicht die Tabelle? Besser als Maxim oder die wikis dieser Welt wird Dir das hier auch nicht erklären können, fürchte ich.
weil der 4433 nur 256 Byte EEProm hat und ich dort schon andere Werte speichere (z.B. die RomCodes) Andre
Du hast von 4 kB kein viertel-Kilo für die Tabelle übrig? Na gut. Hast Du das Assembler-Programm von Seite 5 Deiner verlinkten Anleitung mal in AVR-Assembler übersetzt und simuliert? Du kannst es dann ja vergleichen mit dem Berechnungsfortschritt auf Seite 6. Das Prinzip von CRC ist Dir aber schon vertraut? Die Einführung über die Wikipedia fand ich ganz hilfreich.
4kB?? Wie lese ich denn Daten aus dem Programmspeicher? Das Beispiel kommt mit 15 Befehlen aus (wenn mach die Sicherung der Register weg lässt) das ist schon ein Unterschied zu einer Tabelle. Allerdings muss ich, um es AVR kompatibel zu machen, erst verstehen. Wäre ja möglich, dass dies schon einmel jemand vor mir durch hat. Das Prinzip von CRC ist mir durchaus bekannt. Es gibt allerdings unendlich viele Berechnungsmethoden. Andre
Anbei meine Lösüng, mit der ich iButtons auslese. Also jene Dinger, die nur eine SerieNummer und sonst nichts beinhalten. Dort siehst Du, wie man die CRC erzeugt (ohne Tabelle).
Aus dem Programmspeicher kannst Du mit dem Befehl LPM lesen. Da gibt es notfalls auch genug Beispiele dafür. Die Live-Berechnung ist natürlich viel kompakter, aber erheblich langsamer. Da muß man abwägen, ob es eher auf Platz oder auf Tempo ankommt. Bei der Lösung von mkmk bitte Achtung: iButtons verwenden -- wenn ich mich nicht irre -- eine 16-Bit CRC, während Du eine 8-Bit CRC brauchst.
@Philipp Ist schon richtig so. iButton verwenden - wie Du richt sagst - 8bit-CRC. Und das von mir geliefert Beispiel ist 8bit-CRC.
@Philipp Lpm - Stimmt - sorry, habe ich noch nie benutzt @mkmk, Peter werde mir die Programme gleich mal ansehen. Danke an Alle !
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.