-         

Ergebnis 1 bis 7 von 7

Thema: I2C (TWI) 2 Fragen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    26.12.2004
    Beiträge
    12

    I2C (TWI) 2 Fragen

    Anzeige

    habe mal ne fragen und zwar es geht um I2C (TWI)
    Habe mit dem 90S2313 (10 MHz) und dem PCF8574P versucht ein I2C zu bauen hat leider nicht funktioniert.
    Jetzt wollte ich wissen ob das mit einem Mega8 (16MHz) ohne den PCF8574 funktioniert oder ob man den dann immer noch braucht ?
    Wollte ein EEPROM M24256-B damit ansteuern vieleicht kann mir ja jemand damit helfen oder hat ein paar codeschnipsel dafür
    Habe schon überall geschaut aber es ist mir immer noch nicht klar geworden

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    30.01.2004
    Ort
    Hartenholm
    Alter
    68
    Beiträge
    81
    ... für den PCF8574 hätte ich hier etwas:
    Mußt Du dann für den Mega 16 entsprechend anpassen.
    Code:
    'I2C-Test.BAS:  I2C-Beispiel: 7-segm.LED über PCF8574 schreiben
    'Hardware:  PCF8574
    '           A0-A2 auf GND 0.0.0 = &H40
    '
    '-------------------------------------------------------------------------------
    $regfile = "m8def.dat"                       'ATmega8-Deklarationen
    $crystal = 3686400                           'Quarz: 3,6864 MHz
    $baud = 9600                                 'Baudrate zum PC: 9600 Baud
    '
    Dim I As Byte                                'Für temporären Gebrauch Statusbyte
    Dim Daten As Byte                            'datenbyte für I2C
    
    Config Sda = Portc.4                         'ist für I2C erforderlich
    Config Scl = Portc.5                         'dito
    
    '-------------------------------------------------------------------------------
    
    Const Pcfled = &H40                          'LED an PCF8574 ohne A an 0.0.0
    
    'BITMUSTER 7-seg.-LED
    'PCF P0 = Segm. A ..... usw. aufsteigend
    
    Const Led_0 = &B11000000                     'Bitmuster 0 ungedrehte Logik !!
    Const Led_1 = &B11111001                     'Bitmuster 1 LED an gemeinsamer
    Const Led_2 = &B10100100                     'Bitmuster 2 Anode.
    Const Led_3 = &B10110000                     'Bitmuster 3
    Const Led_4 = &B10011001                     'Bitmuster 4
    Const Led_5 = &B10010010                     'Bitmuster 5
    Const Led_6 = &B10000010                     'Bitmuster 6
    
    '-------------------------------------------------------------------------------
    
    I2cinit                                      'I2c initialisieren
    I2cstart                                     'Bus starten
    I2cwbyte Pcfled                              'Addresse Chip senden
    I2cwbyte Led_5                               'Byte Bitmuster sendeN
    I2cstop                                      'Bus wieder freigeben
    
    End                                          'end program
    Gib mal bei Bascom im Hilfeindex i2cwbyte ein, dann findest Du auch 'ne Menge zum Thema.

    Gruß Gerhard

    ps.: die Pullups für SDA und SCL habe ich extern in meiner Schaltung !!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    26.12.2004
    Beiträge
    12
    ja werde ich mal versuchen

  4. #4
    Gast
    klappt irgendwie nich hat jemand ne schaltplan dafür nur die sachen um den PCF8574 wäre echt nett !!

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    30.01.2004
    Ort
    Hartenholm
    Alter
    68
    Beiträge
    81
    Zitat Zitat von Anonymous
    klappt irgendwie nich hat jemand ne schaltplan dafür nur die sachen um den PCF8574 wäre echt nett !!
    .... evtl. hilft Dir dieses weiter:
    http://www.g-fischer.de/proto/led_pcf8574.jpg


    mfg Gerhard

  6. #6
    Gast
    ja danke das hilft weiter kann mir jetzt noch jemand sagen wie man die adresse bestimmt mit den drei jumpern und ich bin glücklich

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    30.01.2004
    Ort
    Hartenholm
    Alter
    68
    Beiträge
    81
    Zitat Zitat von Anonymous
    ja danke das hilft weiter kann mir jetzt noch jemand sagen wie man die adresse bestimmt mit den drei jumpern und ich bin glücklich
    ... na denn:
    für den pcf.... ohne A:
    wenn A0 bis auf A2 auf Ground dann Schreib-Adresse = hex40

    wenn A0 auf +5V, A1+A2 auf GND dann Schreibadtr. = hex42

    Zum Lesen die jeweilige Addi um 1 erhöhen. Apropros lesen, Du solltest Dir mal das
    Datenblatt zum PCF8574 anschauen !!! Dort steht alles drin.

    mfg Gerhrad

Berechtigungen

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