-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: 24c256 Als Logfile Speicher verwenden

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.12.2003
    Ort
    NRW / Aachen
    Alter
    31
    Beiträge
    100

    24c256 Als Logfile Speicher verwenden

    Anzeige

    Hallo,

    ich wollte einen at 24c256 als speicher für messwerte verwenden,
    leider habe ich noch keinen weg gefunden weine kompletten text in
    den eprom zu schreiben.

    sollte später einer art dabelle entsprechen

    ID Date Time Temp1 Temp2

    hat einer von euch vieleicht nen codeschnipsel für mich?
    das ganze soll später auf nem atmega32 laufen.

    danke
    michael
    Hey klasse... du hast nen Rechtschreibfehler gefunden? Weist du was? Ich schenke ihn dir!! :]

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Hallo,
    ich benutze den Eeprom auch. Habe aber nicht verstanden, was du mit "kompletten Text" meinst.
    Hier eine Routine zum beschreiben:
    Code:
    Dim Adress as Word, H as byte, L as Byte, Wert as Byte
    H=(High)Adress
    L=Adress
    I2cstart                                               
    I2cwbyte &B1010_0000         'Adresse des Eeprom                        
    I2cwbyte H                           'Speicherstelle im Eeprom
    I2cwbyte L                           
    Do
    read Wert                            'Wert von irgendwo holen und
    I2cwbyte Wert                       'in den Eeprom schreiben (Speicherstelle wird danach automatisch um 
                                           '1 erhöht / Speicherbereich geht von 0000-7FFF)
    Loop until Wert=255             'z.B. bis der Wert 255 ist
    I2cstop
    Mit dieser Methode hast du den Eeprom in ca 6 Sek. voll

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.12.2003
    Ort
    NRW / Aachen
    Alter
    31
    Beiträge
    100
    hi,

    ich will in Bascom ein eeprom (24c256) beschreiben!
    in diesem eeprom sollten datum und teperatur werte gespeichert
    werden, die ich bei bedarf wieder auslesen möchte!

    mein problem ich aber das ich nicht weiß wie ich eine textzeile wie z.b.

    10.02.05 / 16:05 / 25,5 / 22,0

    in den eeprom schreiben soll!

    hast du eine idee? oder nen beispielcode?
    mit dem I2C sample von Bascom komm ich einfach net weiter

    ich möchte im prinzip in das eeprom eine tabelle schreiben!

    mfg
    michael
    Hey klasse... du hast nen Rechtschreibfehler gefunden? Weist du was? Ich schenke ihn dir!! :]

  4. #4
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Hallo,
    Erklär das bitte mal etwas genauer.
    Wo kommen die Daten denn her und in welcher Form liegen sie vor ?
    Was soll mit den Daten beim wieder auslesen passieren ?
    In welcher Form soll die Tabelle angelegt werden ?
    Du musst ja anschliessend beim Auslesen wissen, in welcher Speicherstelle welcher Wert liegt.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.12.2003
    Ort
    NRW / Aachen
    Alter
    31
    Beiträge
    100
    also..

    das datum und die uhrzeit kommen von einem
    pcf8563 und die temperaturen von zwei lm74 jede stunde
    will ich alle werte in das eprom schreiben, um sie später
    per serieller schnitstelle abrufen zu können.

    das ganze ist für eine heizungssteuerung, dessen messwerte
    ich über mehrere tage speichern will, später will ich sie dan an den
    pc übertragen. ich hab alles schon fertig, nur das mit dem eprom will
    noch nicht. Ich bekomme es angesteuert und alles, aber ich weiß nicht
    wie ich einen "string" mit 24 zeichen an das eprom senden soll.

    ich hofffe du kannst mir weiter helfen

    mfg
    michael
    Hey klasse... du hast nen Rechtschreibfehler gefunden? Weist du was? Ich schenke ihn dir!! :]

  6. #6
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Na jetzt verstehe ich...
    Also ich würde es folgendermassen machen:

    Const FF = &H0C 'Steuerzeichen Formfeed
    Const LF = &H0A 'Steuerzeichen Linefeed
    Const Pu = &H2E 'Punkt
    Const Dp = &H3A 'Doppelpunkt
    Const Le = &H20 'Leerzeichen
    Const Ko = &H2C 'Komma
    Const Adr = &HA0 'Adresse Eeprom
    Dim AdrCount as Word 'Zähler Speicherplatz Eeprom

    Die anderen Variablen von dir musst du natürlich entsprechend anpassen.
    Daten von der RTC nenne ich mal Tag, Monat, Jahr, Stunde, Minute.
    Und vom LM nenne ich mal T1msb, T1lsb, T2msb, T2lsb. (Vor und Nachkommastelle)

    Subroutine
    Ttag = Makedec(Tag) 'aus der RTC muss erst gewandelt werden, da BCD Code
    Tmonat = Makedec(Monat) 'u.s.w. bis zur Minute
    H=(High)AdrCount
    L=AdrCount
    I2cstart
    I2cwbyte Adr
    I2cwbyte H 'Speicherstelle im Eeprom
    I2cwbyte L
    I2cwbyte Ttag
    I2cwbyte Pu
    I2cwbyte Tmonat
    I2cwbyte Pu
    I2cwbyte Tjahr
    I2cwbyte Le
    I2cwbyte Tstunde
    I2cwbyte Dp
    I2cwbyte Tminute
    I2cwbyte Le
    I2cwbyte T1msb 'Temperatur 1 Vorkommastelle
    I2cwbyte Ko
    I2cwbyte T1lsb 'Nachkommastelle
    I2cwbyte Le
    I2cwbyte T2msb 'Temperatur 2 Vorkommastelle
    I2cwbyte Ko
    I2cwbyte T2lsb 'Nachkommastelle
    I2cwbyte FF
    I2cwbyte LF 'damit ist die Formatierung auch im Eeprom
    I2cstop

    Damit sind jetzt 19 Werte im Eeprom.
    Jetzt muss der Adresszähler noch erhöht werden.

    If AdrCount < &H7FEB then AdrCount = AdrCount + 19 Else AdrCount = 0

    Wenn der Eeprom voll ist, wird wieder von vorne beschrieben.

    Ich hoffe ich habe nichts vergessen.
    Wenn doch musst du nochmal nachfragen.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.12.2003
    Ort
    NRW / Aachen
    Alter
    31
    Beiträge
    100
    joop, hab meinen fehler gefunden!

    aber was soll das mit dem FF und LF?
    ich verstehe nicht ganz was du damit bezwechen wilst!

    ansonsten funst alles.

    mfg
    michael
    Hey klasse... du hast nen Rechtschreibfehler gefunden? Weist du was? Ich schenke ihn dir!! :]

  8. #8
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Hallo,
    ich habe noch einmal nachgesehen. Bei den Steuerzeichen habe ich mich geirrt.
    Es sollte heissen:
    &H0D -> Cursor zurück auf Anfang
    &H0A -> und Zeilenvorschub
    Das soll bei einer anschliessenden Ausgabe auf ein Terminal oder Drucker, gleich die Steuerzeichen mit ausgeben. Sonst würde ja alles unübersichtlich hintereinander geschrieben werden.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.12.2003
    Ort
    NRW / Aachen
    Alter
    31
    Beiträge
    100
    ahhh... ok

    dann verstehe ich das jetzt!
    ich werde andere zeichen zur kennzeichnung verwenden
    da ich die daten und vb6 übernehmen will!

    danke für deine hilfe

    kann geclosed werde
    michael
    Hey klasse... du hast nen Rechtschreibfehler gefunden? Weist du was? Ich schenke ihn dir!! :]

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.12.2003
    Ort
    NRW / Aachen
    Alter
    31
    Beiträge
    100
    hätest du vieleicht auch noch einen vorschlag zum
    auslesen der daten?

    weil im moment bekommen ich nur folgendes:

    82
    17
    5
    23
    20
    2
    56
    19
    32
    20
    44
    20
    46
    2
    32
    12
    58

    und damit kann ich nicht wirklich was anfangen :-/
    ich wüste auch nicht wie ich aus diesen werten die uhrsprungswerte
    errechnen könnte

    mfg
    michael
    Hey klasse... du hast nen Rechtschreibfehler gefunden? Weist du was? Ich schenke ihn dir!! :]

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •