- Labornetzteil AliExpress         
Ergebnis 1 bis 9 von 9

Thema: MCP23017 Adressierungsproblem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    Ein I2C Scanner ist nichts weiter als eine kleine Schleife die einfach versucht ein Byte über I2C zu lesen mit steigender Adresse pro Schleife

    deine Basis Adresse lautet 0x20 (7bit) das macht dann dem Datenblatt nach 0b.0010.000x

    Du die letzten 3 Bit vor dem x-Bit entsprechen deinen Adressleitungen A0-A2

    du kannst also folgende Adressen nutzen (Hex in 8bit, alles nur schreiben ... jeweils +1 zum lesen logischerweise )

    0b.0010.000x (0x40)
    0b.0010.001x (0x42)
    ...
    0b.0010.111x (0x4E)
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  2. #2
    HaWe
    Gast
    ich würde mir an deiner Stelle für deine Software fertige Codebeispiele oder fertige libs für die mcp23017 suchen und dann darauf aufbauen.
    Ist übrigens genau der Grund, weshalb ich zum Programmieren grundsätzlich Arduino mit fertigen C++ libs nutze.
    Ich bin mir auch einigermaßen sicher, dass sich dein ATMega128 per Arduino programmieren lässt.

  3. #3
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    47
    Beiträge
    68
    ok..dank dir

    ich habe das ganze mal in einem hex - dez umgerechnet
    würde da in dem fall evlt auch gehn.weil

    ox40 wäre ja 64
    ox48 w#re ja 72
    ox50 aber schon 80...

    würde das auch gehn, oder muss es dann wirklich die 7 bit variante sein?

    grüsse
    Patrick

    - - - Aktualisiert - - -

    ich glaube ich aber die falsche adresse genommen
    wenn ich das wie du das hier schreibst, lese
    ist es nciht der adressraum 0x40 - 0x54 sondern ox40 - 0x4e...
    und die letzten drei adressen sind nicht 0x50, 0x52 und 0x54 sonder ox4a, ox4c und ox4e..

    kann das evlt sein das ich einfach nur ein denkfehler habe bzw wenn ich es dezimal programmierz hätte es gar nicht aufgefallen wäre ?

    grüsse
    Patrick

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Ich denke du hast es erfasst! Du hast den Adressraum in dezimalen Zahlen gedacht, aber als hex-Zahlen geschrieben. Mit 0x40 .. 0x4e wird das jetzt funktionieren.

    Im Übrigen sind 7bit-Adressen und 8bit-Adressen keine verschiedenen Adressen oder Methoden sondern ĺediglich eine Frage der binären Interpretation des erforderlichen Registerinhaltes beim Adressbyte. Das nur nochmals zur Verdeutlichung.

  5. #5
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    47
    Beiträge
    68
    Mahlzeit

    Danke für eure Hilfe..ich habe wirklich die letzten drei Adressen falsch programmiert, bzw den Falschen Adressraum genutzt.
    Jetzt geht es. Perfekt.

    Grüsse
    Patrick

Ähnliche Themen

  1. i2c Bus Timing mit dem MCP23017
    Von modtronic im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 13.03.2018, 16:55
  2. Input beim MCP23017
    Von modtronic im Forum C - Programmierung (GCC u.a.)
    Antworten: 14
    Letzter Beitrag: 23.03.2017, 11:08
  3. Mcp23017
    Von modtronic im Forum C - Programmierung (GCC u.a.)
    Antworten: 17
    Letzter Beitrag: 20.02.2017, 00:15
  4. MCP23017 mit Python steuern
    Von opc im Forum Raspberry Pi
    Antworten: 4
    Letzter Beitrag: 23.01.2015, 10:43
  5. [ERLEDIGT] MCP23017 - I2C ansprechen ohne Erfolg
    Von JoeM1978 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 07.01.2014, 08:15

Berechtigungen

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

12V Akku bauen