Problem bei 4x MCP23S17

ETSStudent
2016-11-05
2016-11-05
  • ETSStudent - 2016-11-05

    Hallo zusammen,

    habe grade für einen Raspberry 2 ein Codesys-Programm erstellt, in dem 2xMCP23S17 als Eingänge und 2x MCP23S17 als Ausgänge dienen sollen(Adresse 0-3). Schließe ich jedoch mehr als einen MCP23S17 an, bekomme ich keine Eingangssignale oder Ausgangssignale aus der Steuerung. Schließe ich nur einen an, so werden die jeweiligen Pins (z.B. B2) bei beiden Eingängen als 1 angezeigt. Ein test mit dem Logik-Analyser hat gezeit, dass der Chip auch auf beide Adressen antwortet. Um Auszuschließen, dass der Chip einen defekt hat, habe ich es mit allen 4 Chips ausprobiert, jeder Chip antwortet auf jede Adresse, unabhängig von der Einstellung der Adresspins. Hat jemand schonmal ein ähnliches Problem gehabt oder hat einen anhaltspunkt, woran es liegen könnte?

    Grüße
    Andreas

     
  • eschwellinger

    eschwellinger - 2016-11-05

    Hi,

    Für den MCP23S17 muss das HAEN Bit im Register IOCON gesetzt werden:
    Sonst werden die Adressierungspins nicht ausgewertet.
    Das sollte Treiber noch während seiner Initialisierung setzen. Das ist der Wert dieses Registers „IOCON“:
    der wird Momentan auf 0x20 gesetzt, sollte aber 0x28 sein:

    "c:\Users\<deinwindowsusername>\CODESYS Control for Raspberry PI\3.5.9.40\Libraries\SPI_MCP23S17.library" </deinwindowsusername>

    Grüße
    Edwin

    IMG: IOCON.jpg

     
  • ETSStudent - 2016-11-05

    Vielen Dank für die schnelle Antwort, es funktioniert jetzt super.

     

Log in to post a comment.