Problem mit dem MCP23017

Gast #4453522
Lesenswert?
• ▲
▼
Hallo Leute,
Ich bräuchte ein wenig Hilfe mit meinem MCP23017 Portexpander. Ich habe 
versucht, in Kombination mit einem Arduino, den MCP als Ausgang zu 
beutzen. Das hat so auch funktioniert, bis auf eine Merkwürdige 
Begebenheit: Lasse ich Anschluss 7 blinken, so ist Nummer 1 immer HIGH. 
Wenn ich die 1 ansteuer ist es genau umgekehrt. Benutzt habe ich die 
entsprechende Library von Adafruit.

Das Datenblatt des MCP23017 gibts hier:
http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf

Wisst ihr, woran das liegt? An der HW, an der SW? Oder bin ich einfach 
nur zu blöd? '_'
1
//Code Teilweise von http://www.arduino-projekte.de 
2

3
//Librarys einbinden
4
#include <Wire.h>
5
#include "Adafruit_MCP23017.h"
6

7
Adafruit_MCP23017 mcp;
8

9
//Eine For-Schleife, um alle Pins von 0 - 16 als Ausgänge zu definieren
10
void setup() {  
11
  mcp.begin();      // use default address 0
12
  for (int i=0;i<=16;i++)
13
  {
14
    mcp.pinMode(i, OUTPUT);
15
  }
16
}
17

18
//Anschluss 7 blinkt!
19
void loop() {
20
    mcp.digitalWrite(7, HIGH);
21
    delay(150);
22
    mcp.digitalWrite(7, LOW);
23
    delay(150);        
24
}
LG herculeZ
Angehängte Dateien:
#4453541
Lesenswert?
• ▲
▼
a) die Initialisierungsschleife sollte nicht von 0..16 laufen (das wären 
17 pins...)

b) Versuche mal beim Initialisieren die Pins alle auf low zu setzen.
1
void setup() {  
2
  mcp.begin();      // use default address 0
3
  for (int i=0;i<16;i++)
4
    mcp.pinMode(i, OUTPUT);
5

6
  for (int i=0;i<16;i++)
7
    mcp.digitalWrite(i, LOW);
8
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren