Gast
#107809
Hallo... Ich verwende einen Atiny26 und möchte mit ihm Druck messen. Er verfügt über einen 10Bit AD-wandler und hat 128Byte SRAM. In den Tabellen sollen die Druckwerte des nicht linearen Drucksensors abgespeichert werden und später aufgerufen werden. 128Byte SRAM bedeutet doch das ich maximal 128 Einträge pro Tabelle machen kann um diese dann später in´s SRAM zu laden und mit hilfe der Pointer auf sie drauf zugreifen kann Oder???? mein programm ist so aufgebaut das ich den AD-Wandler auslese und später dann durch vergleichen mit konstanten auf die einzelnen tabellen zugreife..das klappt auch alles super bloß leider habe ich das problem das mir zwischendurch falsche werte angezeigt werden...ich habe 5 tabellen angeleget die jeweils 120 einträge enthalten und die ich dann je nach bedarf ins SRAM lade...hier mal ein auschnitt vom code, """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" tab5: ldi compareL,low (tabelle5) ldi compareH,high(tabelle5) cp compareL,wandlerL cpc compareH,wandlerH brcc tab4 ldi ZH,high(tabe5*2) ldi ZL,low (tabe5*2) subi wandlerL,low (501) sbci wandlerH,high(501) add ZL,wandlerL lpm mov wandlerL,r0 clr wandlerH rjmp convert tab4: ldi compareL,low (tabelle4) ldi compareH,high(tabelle4) cp compareL,wandlerL cpc compareH,wandlerH brcc tab3 ldi ZH,high(tabe4*2) ldi ZL,low (tabe4*2) subi wandlerL,low (381) sbci wandlerH,high(381) add ZL,wandlerL lpm mov wandlerL,r0 clr wandlerH rjmp convert . . . usw. meine frage ist eigentlich wieviel einträge ich ins SRAM laden kann, wie man die auswertung mit tabellen evtl. eleganter gestalten kann, und ob man jedesmal bevor man eine neue tabelle laden will den stack neu initialisieren muss... ich hoffe ihr könnt mir tips geben... danke Alex