Author |
Message |
Bastler2000
|
PostPosted: Mon Oct 16, 2017 8:41 pm |
|
Joined: Mon Sep 04, 2017 8:12 pm Posts: 4
|
Hallo,
ich kann mit dem Baustein MCP23017 keine Ausgänge schalten. In FUP habe ich im Baustein den Eingang IO_A auf Null gesetzt, so dass das Byte A als Ausgang arbeitet.
Wenn ich jetzt auf dem Raspi mit I2Cdump die Konfiguration ansehe, ist das Byte A immer noch als Eingang parametriert.
Wenn ich mit I2Cset den Parameter 0x00 von FF nach 00 umstelle funktioniert alles
Im Baustein MCP23017 ist die Variable IO_A vorbelegt mit 16#FF. Hier könnte der Fehler liegen. Die Vorbelegung würde ich gerne auf 16#00 ändern. Aber dies gelingt mir nicht. Wie es scheint ist der Baustein schreibgeschützt.
Hat jemand eine Idee?
You do not have the required permissions to view the files attached to this post.
|
|
Top |
|
 |
LMDaniel999
|
PostPosted: Mon Oct 23, 2017 10:49 am |
|
Joined: Mon Apr 03, 2017 10:47 am Posts: 6
|
Hi.
Ich verwende den MCP23S17 am SPI. Dort gibt es bei den Parametern im Gerät die Möglichkeit, das einzustellen.
Ich weiß nicht, ob das beim MCP23017 am I2C genauso ist... Aber normal solltest du doch die Daten über den Eingang ändern können. Das sollte auch keinen Schreibschutz haben.
Woher hast du den Baustein?
|
|
Top |
|
 |
Raspitan
|
PostPosted: Thu Feb 07, 2019 9:50 am |
|
Joined: Thu Nov 29, 2018 9:18 pm Posts: 1
|
Hallo Zusammen,
ich habe das gleiche Problem wie Bastler2000. Die eingestellten Werte werden vom Baustein entweder nicht übernommen oder nicht an den Baustein übertragen, setze ich die entsprechenden Werte über I2CSET werden die Werte übernommen, nach einem Reset der Steuerung muss man das Spiel allerdings wiederholen.
Die Eingänge werden sauber eingelesen.
Mein Setup: Rasperry Pi 3 b+ Neueste Codesys - Entwicklungsumgebung Der Raspi läuft mit CODESYS Control for Raspberry Pi MC SL (aber auch mit Pi SL gehts net) Device XML und Lib hier aus dem Forum mit dem Testprogramm. Portexpander mit 2 MCP23017 Entwicklungsumgebung läuft auf Laptop mit Win 10 32bit Momentan noch keine Lizenz, da noch Testphase (sollte aber ja nicht daran liegen?)
Hat jemand noch einen Tipp woran das liegen könnte? Ich habe mittlerweile alle Beiträge die ich finden konnte überprüft, aber nix hat geholfen.
Wenn benötigt, liefere ich gerne Screenshots, das Projekt oder was auch immer hilft nach =)
Vielen Dank soweit. Nils
|
|
Top |
|
 |
elconfa
|
PostPosted: Thu Feb 07, 2019 11:32 am |
|
Joined: Wed Mar 28, 2018 3:12 pm Posts: 26
|
Hello I write this code:
MCP23017_1.IO_A := 16#FF; //Input MCP23017_1.IO_B := 16#00; //Output
Button_1 := MCP23017_1.IN_A.0; Button_2 := MCP23017_1.IN_A.1; Button_3 := MCP23017_1.IN_A.2; Button_4 := MCP23017_1.IN_A.3; Button_5 := MCP23017_1.IN_A.4; Button_6 := MCP23017_1.IN_A.5; Button_7 := MCP23017_1.IN_A.6; Button_8 := MCP23017_1.IN_A.7;
MCP23017_1.OUT_B.0 := Rele_1; MCP23017_1.OUT_B.1 := Rele_2; MCP23017_1.OUT_B.2 := Rele_3; MCP23017_1.OUT_B.3 := Rele_4; MCP23017_1.OUT_B.4 := Rele_5; MCP23017_1.OUT_B.5 := Rele_6; MCP23017_1.OUT_B.6 := Rele_7; MCP23017_1.OUT_B.7 := Rele_8;
No other configuration needed. This is working. I hope this can help you. elconfa
|
|
Top |
|
 |