- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 9 von 9

Thema: MCP23017 - I2C ansprechen ohne Erfolg

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    RN-Premium User Fleißiges Mitglied
    Registriert seit
    19.05.2012
    Ort
    Sigmaringen
    Beiträge
    169

    MCP23017 - I2C ansprechen ohne Erfolg

    Tja... ich versuche den MPC23017 per I2C an einem ATmega328 zu betreiben.
    Leider komm ich nun seit 2 Tagen nichtmehr vorwärts.
    Schaltungstechnisch scheint soweit alles ok.
    Verwenden möchte ich das Hardware-TWI/I2C an C4/C5.
    Die 3 Adresspinns vom MCP liegen an Masse und SCL/SDA sind jeweils mit 1k-Pullup auf VCC gelegt.
    Den Resetpin hab ich vorbeugend mit einem kleinen 104 kondensator belegt, damit er bei jedem Start für einmaligen Reset sorgt.
    5V und GND kommen auch am MCP an.
    Das SCL-Signal scheint korrekt am Pin 12 des MCP anzukommen.

    Allerdings rührt sich auf SDA garnichts... der scheint dauerhaft auf Low zu bleiben

    Kann also nurnoch an einem Falschen Testprogramm liegen ??

    Könnte da bitte mal jemand drüber schauen ob das soweit funktionieren sollte ?
    Falls nicht muss ich mich wohl um einen Neuen Portexpander bemühen.

    Code:
    $regfile = "M328pdef.dat"
    $crystal = 16000000
    $baud = 38400
    
    Const Mcp_write = &B01000000
    Const Mcp_read = &B01000001
    $lib "i2c_twi.lbx"                                          'Hardware I2C/TWI auf Pins C4/C5
    Config Scl = Portc.5
    Config Sda = Portc.4
    Config Twi = 400000
    I2cinit
    
    '''''''''''''''''
    'Initialisierung
    '''''''''''''''''
       I2cstart
       I2cwbyte Mcp_write                                       ' IODIRA
       I2cwbyte &H00                                            'Als Ausgänge definieren
       I2cwbyte &B00000000
       I2cstop
    
       Waitus 25
    
       I2cstart
       I2cwbyte Mcp_write                                       ' IODIRB
       I2cwbyte &H10                                            'Als Ausgänge definieren
       I2cwbyte &B00000000
       I2cstop
    
       Waitus 25
    
    '''''''''''''''''''
    'Ausgänge schalten
    '''''''''''''''''''
    Do
    
       I2cstart
       I2cwbyte Mcp_write
       I2cwbyte &H1A                                            ' alle B-Ausgänge  auf 0
       I2cwbyte &B00000000
       I2cstop
    
    
       Waitus 25
    
       I2cstart
       I2cwbyte Mcp_write
       I2cwbyte &H1A
       I2cwbyte &B11111111                                      'Alle B-Ausgänge auf 1
       I2cstop
    
    
       Waitus 25
    
    Loop
    
    End
    EDIT: einige kleine Änderungen... zumindest sind die Datenpakete auf SDA nun vorhanden...
    der MCP scheint allerdings nicht reagieren zu wollen.

    Evtl. ist die Adresse oder das Ansprechen der Register falsch ??
    Das Datenblatt verwirrt mich eh unheimlich.

    Falls jemand Tips hätte wäre ich sehr dankbar!
    Geändert von JoeM1978 (21.12.2013 um 16:27 Uhr)
    JAAAA... Microchips kann man essen... aber der Geschmack ist furchtbar.

Ähnliche Themen

  1. LCD über I2C ansprechen
    Von Reissdorf im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 30.12.2012, 20:48
  2. PCA9635 per i2c ansprechen
    Von Sven2010 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 21.01.2010, 21:19
  3. MD22 via i2c vom Arduino ansprechen
    Von kywalda im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 01.04.2009, 20:48
  4. I2c-Bus ansprechen..aber wie???
    Von Goliath im Forum Software, Algorithmen und KI
    Antworten: 7
    Letzter Beitrag: 27.12.2007, 10:32
  5. RAMs / EEPROMs ansprechen (I2C)
    Von Zarathustra im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 01.04.2007, 12:27

Berechtigungen

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

Solar Speicher und Akkus Tests