- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 20

Thema: I2C Eeprom ST 24C64

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.11.2013
    Ort
    Home
    Beiträge
    213

    I2C Eeprom ST 24C64

    Hallo Forum,
    es gibt schon viele Beispiele und Hinweise diese mit Byte zu beschreiben und lesen.
    Ist ja auch kein Problem aber ich finde keine vernünftige Lösung für Single –Variablen.
    Dieses Thema ist nach meiner persönlichen Meinung schon sehr unübersichtlich geworden. Somit ein Neustart.
    Nun bitte ich um Hilfe.

    Vielen Dank vorab
    Mit freundlichen Grüßen
    fredred


    Zum Verständnis mein Terminal- Ausdruck für Byte-Variablen.
    Funktioniert prima. Aber wie mit Single-Variablen ????
    -------------------------------------
    Code:
    I2C Scan start
    gefunden h A0 b 10100000
    
    EEPROM beschreiben...
    Adresse >1< wurde mit >0 beschrieben!
    Adresse >2< wurde mit >110 beschrieben!
    Adresse >3< wurde mit >120 beschrieben!
    Adresse >4< wurde mit >130 beschrieben!
    Adresse >5< wurde mit >140 beschrieben!
    Adresse >6< wurde mit >150 beschrieben!
    
    EEPROM auslesen...
    Adresse >1< wurde mit >0 gelesen!
    Adresse >2< wurde mit >110 gelesen!
    Adresse >3< wurde mit >120 gelesen!
    Adresse >4< wurde mit >130 gelesen!
    Adresse >5< wurde mit >140 gelesen!
    Adresse >6< wurde mit >150 gelesen!
    
    Hier mein letzter Code
    '****************** Test-Platine *************************
    '* ist ein Testmodul für Data extern EEprom als Speicher *
    '* am I²C Bus ein 24c64 angeschlossen zum speichern *
    '* und lesen der Variablen *
    '* *
    '* alle Auswertungen für Test nur über Terminal anzeigen *
    '* *
    '*************! fredred@arcor.de !************************
    
    $regfile "m32def.dat"
    $crystal = 16000000
    $hwstack = 32
    $swstack = 32
    $framesize = 40
    $baud = 19200
    
    'gibt den Erstellungszeitpunkt im europäischen Format DD-MM-YY hh:nn:ss
    'und die Code-Version aus.
    Print " "
    Print "erstallt am : " ; Version(1)
    Print "Version Code : " ; Version(3)
    Print " "
    Waitms 100
    
    $lib "i2c_TWI.lib" 'Hardware I²C einbinden
    Config Twi = 100000 ' Takt 100kHz
    
    Const 24c64w = &B10100000
    Const 24c64r = &B10100001
    
    Dim Adresse As Word 'ist Adresszähler für Eeprom
    Dim Adresse_l As Byte At Adresse Overlay
    Dim Adresse_h As Byte At Adresse + 1 Overlay
    
    
    Dim Wert(6) As Word 'ist Schreibwerte Array
    Dim Wertalt As Word 'ist Lesewert
    Dim Aktionen As Byte 'ist Status für Aktionen
    
    'war nur ein erfolgloser Versuch
    
    'Dim Wert As Single
    'Dim Werts As Byte At Wert(4) Overlay
    'Dim Wertalt As Single
    'Dim Wertl(4) As Byte At Wertalt Overlay
    
    
    '!!!!! ist nur für Test mit Taster also anpassen !!!!
    Config Pinc.3 = Input 'Taster für EEprom schreiben
    Portc.3 = 1 'Port auf H schalten
    Taster_s Alias Pinc.3 'Taster ein Namen geben
    
    Config Pinc.2 = Input 'Taster für EEprom lesen
    Portc.2 = 1 'Port auf H schalten
    Taster_l Alias Pinc.2 'Taster ein Namen geben
    
    'Config Portc.4 = Output
    'Eepvoll Alias Portc.4 'LED-Warnung für EEprom voll
    
    '+++ zu Test ob I²C Hardware OK ist +++
    Gosub I2c_test
    '++++++++++++++++++++++++++++++++++++++
    
    '------- nach Reset lesen -------------
    Gosub Lesen
    '--------------------------------------
    
    Do
    
    '!!! Testwerte !!!
    Wert(1) = Aktionen
    Wert(2) = 110
    Wert(3) = 120
    Wert(4) = 130
    Wert(5) = 140
    Wert(6) = 150
    '!!!!!!!!!!!!!!!!!!
    
    '--- hier zum Daten schrieben --------
    If Taster_s = 0 Then 'wenn Taste gedrückt schreiben
    Waitms 100 'nur für Test
    Incr Aktionen 'nur für Test
    Gosub Schreiben
    End If
    '--- hier zum Daten lesen ------------
    If Taster_l = 0 Then 'wenn Taste gedrückt lesen
    Waitms 100 'nur für Test
    Gosub Lesen
    End If
    Loop
    End 
    
    
    '###################################################################
    Lesen:
    Print ""
    Print "EEPROM auslesen..."
    
    For Adresse = 1 To 6
    I2cstart
    I2cwbyte 24c64w
    I2cwbyte Adresse_h
    I2cwbyte Adresse_l
    I2cstart
    I2cwbyte 24c64r
    I2crbyte Wertalt , Nack
    I2cstop
    Print "Adresse >" ; Adresse ; "< wurde mit >" ; Wertalt ; " gelesen!"
    Next
    Return
    
    '#############################################################################
    Schreiben:
    Print ""
    Print "EEPROM beschreiben..."
    
    For Adresse = 1 To 6
    I2cstart
    Adresse_h = High(adresse)
    Adresse_l = Low(adresse)
    I2cwbyte 24c64w
    I2cwbyte Adresse_h
    I2cwbyte Adresse_l
    I2cwbyte Wert(adresse)
    I2cstop
    Print "Adresse >" ; Adresse ; "< wurde mit >" ; Wert(adresse) ; " beschrieben!"
    Next
    Return
    
    '#############################################################################
    
    I2c_test:
    
    Dim Busaddress As Byte
    Dim Busaddress_read As Byte
    Dim Chipaddress As Byte
    
    Print "I2C Scan start"
    
    'I²C Porterweiterung testen
    'Alle Adresen Suche und Anzeigen
    'Step 2 soll nur IC Adresse aufrufen für lesen
    For Chipaddress = 0 To 254 Step 2 ' IC's am I²C-Bus erkennen
    I2cstart 'send start
    I2cwbyte Chipaddress 'sende Addresse auf Bus
    If Err = 0 Then 'Chip gefunden
    If Chipaddress = 24c64w Then
    Print "gefunden " ; "h " ; Hex(chipaddress) ; " b " ; Bin(chipaddress)
    End If
    End If
    Next
    Waitms 200
    I2cstop
    Return
    '---------------------------------------------------------

    So sieht das mit Code-Fenster aus - Manf
    Geändert von Manf (11.02.2014 um 18:48 Uhr)

Ähnliche Themen

  1. Smartcard - FUN2 mit AT90S8515 und 24C64 EEPROM - Wie jetzt?
    Von Lovebongo im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 7
    Letzter Beitrag: 24.01.2008, 11:58
  2. 24c64 Eeprom Problem
    Von Rohbotiker im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 20.01.2008, 13:15
  3. PIC18F4550 und 24C64 über I2C
    Von TheScientist im Forum PIC Controller
    Antworten: 0
    Letzter Beitrag: 23.07.2007, 16:29
  4. Erledigt: EEPROM 24C64 Probleme
    Von N8Surfer im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 11.12.2006, 14:34
  5. Wiedermal Problem mit 24C64 EEPROM
    Von basil_05 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 20.06.2006, 01:15

Berechtigungen

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

12V Akku bauen