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

Thema: Mcp23017

  1. #1
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    41
    Beiträge
    42

    Mcp23017

    Anzeige

    Guten Tag

    ich versuche verweifelt den MCP23017 zum leben zu erwecken.
    Ich möchte einfach nur die 16 Pins als Ausgänge nutzen

    ich arbeite mit der Programmiersprache C mit dem Programm Codevision.
    Erfahrung mit dem PCF 8574 sind reichlich vorhanden..daher bin ich in der I2C Programmierung vertraut.
    der PCF gibt es nciht mehr als DIP Versiobn, daher wollte ich auf den MCP wechseln...das kann doch eigentlich nicht so schwer sein

    Ich Möchte diesen gerne mit einem AT Mega 8L betreiben. Habe dazu eine kleine Platine gebaut und immer 2 Leds über einen ULN2804 auf die Ports A und B des MCP geschaltet.
    Soweit ist er Hardwaremässig verdrahtet. die beiden Leitungen SCL und SDA liegen über 4,7 K auf +5V, Reset ebendso..Adresse ist alles auf Ground (Hex 0x20)

    Ich habe die beiden Registes 0x00 und 0x01 geschrieben und laut Tabelle
    soll ich dann die Register 12 , 13, 14 und 15 einfach schreiben..so habe ich auch ein Bespiel gefunden,,jedoch ohne Erfolg
    habe hier jedoch schon wiedersprüchliche aussagen..einigen sagen 12 und 13 andere 14 und 15..jedoch läuft weder so noch so etwas...

    er tut einfach nix..hat jemand evlt ein Beispiel welches gut erklärt ist ??

    Ich hoffe mir kann jemand helfen..optional könnte ich den Bus noch testen ob er überhaupt läuft..aber wie gesagt das ist ja eigentlich kein Hexenwerk

    Gruss
    Patrick

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    3.034
    hallo,
    ich habe hier ein eine gute Doku mit brauchbarem source code gefunden (in der Mitte, 2. Beispiel):
    http://www.netzmafia.de/skripten/har...der/index.html

    ansonsten habe ich speziell für den Pi mit GCC hier eine kleine Zusammenfassung mit links und libs:
    http://www.mindstormsforum.de/viewto...p=68574#p70059
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  3. #3
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    41
    Beiträge
    42
    Zitat Zitat von HaWe Beitrag anzeigen
    hallo,
    ich habe hier ein eine gute Doku mit brauchbarem source code gefunden (in der Mitte, 2. Beispiel):
    http://www.netzmafia.de/skripten/har...der/index.html

    ansonsten habe ich speziell für den Pi mit GCC hier eine kleine Zusammenfassung mit links und libs:
    http://www.mindstormsforum.de/viewto...p=68574#p70059
    Hallo

    Dank dir..den Link zur Netzmafia kann ich leider nicht laden.
    kommt immer Fehler auf der Seite

    Gruss
    Patrick

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    3.034
    hi,
    stimmt, krieg ich jetzt plötzlich auch nicht mehr. Vielleicht (hoffentlich) nur temporär down.
    Macht aber nichts, den .c und .h File samt Lauflicht-Beispiel habe ich sicherheitshalber auch im 2. Link mit veröffentlicht (letzte 3 Codeblöcke), nur die allgemeinen Infos habe ich nicht ebenfalls zitiert.
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  5. #5
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    41
    Beiträge
    42
    Leider weiss ich nicht genau was du meinst ?

    KÖnntest du das evlt etwas ausführlicher erklären ?
    Muss ich mir noch Librarys runterladen ?

    Gruss
    Patrick

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    3.034
    es ist alles genau so, wie ich bereits schrieb, alles was du brauchst steht genau hier drin:
    http://www.mindstormsforum.de/viewto...p=68574#p70059
    einfach alles in diesem Post durchlesen und ggf. kopieren!
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    52
    Beiträge
    207
    hallo modtronic

    ich habe den
    MCP23017 mal verwendet, weil ich Ausgänge mit Tri-State benötigte ...

    dafür habe ich zwischen IN / OUT umgeschaltet ... Ausgänge waren auf 0 dabei immer gesetzt

    siehe hier

    Register 0 / 1 IODIR festlegen ob Eingang oder ausgang
    Register 14 / 15 GPPUA Pull-Up-Widerstande
    Register 20 / 21 GPIOA Ausgang setzen

    restlichen Register aus NULL setzen !

    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    974
    Zitat Zitat von modtronic Beitrag anzeigen
    Ich habe die beiden Registes 0x00 und 0x01 geschrieben und laut Tabelle
    soll ich dann die Register 12 , 13, 14 und 15 einfach schreiben..so habe ich auch ein Bespiel gefunden,,jedoch ohne Erfolg
    habe hier jedoch schon wiedersprüchliche aussagen..einigen sagen 12 und 13 andere 14 und 15..jedoch läuft weder so noch so etwas...
    Kennst du die Wirkung des Bits IOCON.BANK bei diesem Chip? Damit wird die Zuordnung der Adressen zu den Registern umgeschaltet. Das kann (nicht nur) bei Paste&Copy-Programmierung zu Verwechslungen führen, wenn man die Vorgeschichte im Programmablauf nicht beachtet/kennt. Insgesamt ist dieser Chip etwas komplexer als der PCF 8574.
    Also: RTFM - oder eben freundlicher: Lies das Datenblatt, es ist dein Freund.

  9. #9
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    41
    Beiträge
    42
    Hallo

    Vielen Dank für eure Tips..Leider habe ich Probleme beim entschlüsseln des Datenblattes
    und bin jetzt noch verwirtter als vorher

    Mit den Links zum Rasperry PI komme ich leider nicht klar..

    @Feuerring..hättest du evlt mal den Programmauszug zum 23017..bzw könntest du mir evlt mal aufschreiben was ich wo ich welches Register schreiben muss ?
    ich stehe grade wirklich auf dem Schlauch

    Gruss
    Patrick

    kann mir nicht jemand mal das Datenblatt aufschlüsseln ?

    - - - Aktualisiert - - -

    Hallo nochmal



    Adress(hex) Name Funktion Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
    00 IODIRA In or Out GPA GPA7 GPA6 GPA5 GPA4 GPA3 GPA2 GPA1 GPA0
    01 IODIRB In or Out GPB GPB7 GPB6 GPB5 GPB4 GPB3 GPB2 GPB1 GPB0
    12 GPIOA On Off GPA GPA7 GPA6 GPA5 GPA4 GPA3 GPA2 GPA1 GPA0
    13 GPIOB On Off GPB GPB7 GPB6 GPB5 GPB4 GPB3 GPB2 GPB1 GPB0
    14 OLATA On Off GPA GPA7 GPA6 GPA5 GPA4 GPA3 GPA2 GPA1 GPA0
    15 OLATB On Off GPB GPB7 GPB6 GPB5 GPB4 GPB3 GPB2 GPB1 GPB0

    Das ist mal die Vereinfachte Tabelle aus dem Datenblatt.
    Auf einer Seite bin ich darauf gestossen das jemand mit diesen Adressen die Ausgämge schreibt.
    das habe ich auch so gemacht.jedoch tut sich nix.

    Kann mir das jemand erklären ?

    Gruss
    Patrick

  10. #10
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    41
    Beiträge
    42
    Zitat Zitat von Feuerring Beitrag anzeigen
    hallo modtronic

    ich habe den
    MCP23017 mal verwendet, weil ich Ausgänge mit Tri-State benötigte ...

    dafür habe ich zwischen IN / OUT umgeschaltet ... Ausgänge waren auf 0 dabei immer gesetzt

    siehe hier

    Register 0 / 1 IODIR festlegen ob Eingang oder ausgang
    Register 14 / 15 GPPUA Pull-Up-Widerstande
    Register 20 / 21 GPIOA Ausgang setzen

    restlichen Register aus NULL setzen !

    Hallo Feuerring

    könntest Du mir das evlt etwas Genauer erklären..vllt mit einem Programmauszug etc ?

    Gruss
    Patrick

    - - - Aktualisiert - - -

    Zitat Zitat von RoboHolIC Beitrag anzeigen
    Kennst du die Wirkung des Bits IOCON.BANK bei diesem Chip? Damit wird die Zuordnung der Adressen zu den Registern umgeschaltet. Das kann (nicht nur) bei Paste&Copy-Programmierung zu Verwechslungen führen, wenn man die Vorgeschichte im Programmablauf nicht beachtet/kennt. Insgesamt ist dieser Chip etwas komplexer als der PCF 8574.
    Also: RTFM - oder eben freundlicher: Lies das Datenblatt, es ist dein Freund.
    Leider sagt mit das nichts
    Könntest Du mir da vllt etwas helfen ?

    Gruss
    Patrick

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. PCF8591 und MCP23017 bei fast i2c (400kHz) ?
    Von HaWe im Forum Sensoren / Sensorik
    Antworten: 28
    Letzter Beitrag: 28.08.2016, 08:44
  2. MCP23017 mit Python steuern
    Von opc im Forum Raspberry Pi
    Antworten: 4
    Letzter Beitrag: 23.01.2015, 09:43
  3. [ERLEDIGT] Frage zu MCP23017 + Ultraschall Sensor hc-sr04 an Raspberry pi
    Von brenan im Forum Elektronik
    Antworten: 0
    Letzter Beitrag: 30.03.2014, 20:46
  4. MCP23017 via I2C... Primitive Funktionstests, Bitte um Kritik
    Von JoeM1978 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 14.01.2014, 22:26
  5. [ERLEDIGT] MCP23017 - I2C ansprechen ohne Erfolg
    Von JoeM1978 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 07.01.2014, 07:15

Berechtigungen

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