MCP23017 PullDown aktivieren über Python

  • Hallo,

    ich habe an den Raspberry PI, ein Porterweiterung's IC Angeschlossen MCP23017

    Nun würde ich gerne mir die PullDown Widerstände an jeden Port sparen.

    Mit welschen Befehl kann ich das ganze Aktivieren?

    Hier mein Aktueller Testcode zum Auslesen:

    Würde mich auf eine Antwort freuen

  • Hast du das Datenblatt mal gelesen? Da sind die Register GPPUx beschrieben, fuer Port A und B. Das muss einfach nur alles auf 1.


  • Keine gute Idee, an definierten Zuständen "zu sparen". Es sei denn Du ersetzt diese durch Deine eigenen externen Widerstände.

    Ich glaube ich wurde missverstanden ;)

    Ich habe aktuell Widerstände für jeden Port angeschlossen ! Diese möchte ich gerne in meiner fertigen Schaltung einsparen und deswegen auf die zurück greifen die in den IC Intern verbaut sind. Nur wie ich die Aktiviere ist mir nicht so richtig bewusst.

    Das register habe ich gefunden, nur weiss ich leider trotzdem nicht welscher Wert für die PullDown Widerstände zuständig ist ;(


    Edit:

    Jetzt habs ich es doch raus gefunden^^ trotzdem danke

    GPPUA = 0x0C

    GPPUB = 0x0D

    Einmal editiert, zuletzt von blueberlin (8. Februar 2017 um 13:48)

  • Hallo blue_berlin,

    dazu kannst Du das Linux-Kommando

    Code
    raspi_gpio

    nutzen

    Dieses Programm musst Du installieren.

    Code
    man raspi_gpio


    verrät Dir dann, wie es genuztzt wird, um Alternativ-Funktionalitäte oder die internen Pullup-/Pulldown-Wiederstände in den wüstesten Kombinationen zu setzen.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hi,


    ... Das register habe ich gefunden, nur weiss ich leider trotzdem nicht welscher Wert für die PullDown Widerstände zuständig ist ;(

    das könnte daran liegen, dass der Baustein afaik nur interne pull-ups hat ;)
    cu,
    -ds-

  • Würd' ich aber, wie dag bereits anmerkte (und der weiß, wovon er redet), nicht machen sondern die Widerstände extern verbauen.
    Hat erstens den Vorteil, dass die in der Software nicht vergessen werden können und zweitens, dass Du sie anpassen kannst, falls sie zu groß oder zu klein sind (100k, glaub ich).

    cu,
    -ds-

  • Code
    GPPUA = 0x0C
    GPPUB = 0x0D
    
    
    bus.write_byte_data(DEVICE,GPPUB,0xFF)
    bus.write_byte_data(DEVICE,GPPUA,0xFF)

    Aber wie ds schon schrieb - ich würde meine eigenen Pullups NICHT weglassen. Was sich bei dem Chip aufgrund der IO-Belegung anbietet, sind Widerstandsnetzwerke - die sparen Platz.
    Automatisch zusammengefügt:
    Huch, steht ja schon oben...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!