Archiv verlassen und diese Seite im Standarddesign anzeigen : Werte speichern und später über RS232 auslesen?
TobiasBlome
10.06.2007, 21:43
Hallo,
ich habe 2 Variablen die ich im Minutentakt speichern möchte, und später über RS232 auslesen möchte. (alles per Knopfdruck senden)
Wie und worin wird soetwas gespeichert? (deswegen wusste ich auch nicht, wonach ich suchen sollte)
woher weiss man wie groß ein Wert ist und wieviele Werte dann in den Speicher passen?
Ich habe einen ATMega8:
8k Flash
0,5k eeprom
1024b sram
angedacht sind 2 Zahlen mit xx,x jede Minute über mindestens 2 Std -> also 240 Werte...
Tobias
peterfido
10.06.2007, 22:14
Der Mega32 schafft es gerade so.
$regfile = "m32def.DAT"
$crystal = 8000000
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40
$baud = 19200
Config Timer1 = Timer, Prescale = 256
On Timer1 Timer_irq
Const Timervorgabe = 34286
Dim Wert1(240) As Single
Dim Wert2(240) As Single
Dim Wert1org As Single
Dim Wert2org As Single
Dim Zaehler As Integer
Dim A As Integer
Config Portc.0 = Input
Sendebefehl Alias Portc.0
Portc = 1 'Pullup aktiviert. falls nicht
Zaehler = 1
Declare Sub Senden()
Enable Timer1
Enable Interrupts
Do
If Sendebefehl = 0 Then Call Senden 'dann If Sendebefehl = 1 Then Call Senden
Loop
Timer_irq:
Timer1 = Timervorgabe
Wert1(zaehler) = Wert1org
Wert2(zaehler) = Wert2org
Zaehler = Zaehler + 1
Return
Sub Senden()
A = 0
Weiter:
A = A + 1
Print Wert1(a)
Print Wert2(a)
If A < Zaehler Then Goto Weiter
Zaehler = 0
End Sub
Oder halt externes RAM nutzen.
vklaffehn
10.06.2007, 22:27
Beim Mega8 könnte man entweder das Eeprom nehmen (512 Bytes), oder falls das nicht reicht, evtl ein kleines serielles EEProm extern anschließen, da hat man dann Platz ohne Ende.... naja, aber immerhin ein paar Kilobytes....
MfG
Volker
Wenn man die Werte auf Ganzzahl umrechnen kann erspart man dem Controller Arbeit und bekommt sie noch im SRAM unter (240 Werte mal 2 Byte)
Wenn es unbedingt Single-Werte sein müssen dann nimm wie vklaffehn sagte nen I2C-EEprom wie den 24C512, der kosten um die 3€ hat 64kB, behält die Werte auch bei Spannungsausfall und ist 100000 mal beschreibbar.
MfG
TobiasBlome
11.06.2007, 15:42
Hallo,
vielen Dank für die vielen schnelen Antworten :-)
Also mit dem I2C EEprom klingt toll dann kann ich gaaanz lange messen ;-)
Dann muss ich mich nur noch schlau machen wie ich etwas über I2C sende - ich habe mit I2C auch noch nichts gemach :oops:
Tobias
TobiasBlome
11.06.2007, 18:03
Also ich habe nun ein IC mit der Bezeichnung 24C512N
das kann ich wohl genauso ansteuern wie das 24C256 im RN-Wissen Bereich - oder?! Weiß jemand eine Adresse w steht, wie ich das IC anschließen muss? Also brauche ich noch Kondensatoren, Widerstände...? oder einfach SCL auf SCL und SDA auf SDA, plus und Minus fertig?
peterfido
11.06.2007, 18:40
2 Pullups für SCL und SDA. Etwa 4,7kOhm
TobiasBlome
11.06.2007, 20:31
gut - dann werd ich mal löten...
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.