Gast
#958978
Hallo Elektroniker, bastel seit ein paar Tagen mit einem PIC4550 und dem I/O-Expander MCP23008 von Microchip rum. Ich verwende den I2C-Bus zum ersten Mal und habe prompt ein Problem: Wenn ich einen Output-Pin setzen möchte und dazu in das OLAT-Register schreibe, so schreibt er zwar ins OLAT, übernimmt den Wert von dort aber nicht ins GPIO-Register. Sämtliche Pins sind als Output konfiguriert über IODIR-Register = 0x00. Desweiteren sieht mein I2CSendByte-Code (programmiert mit dem C18-Compiler) folgendermaßen aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
Interessant ist, wie gesagt, dass korrekt gesendet wird (wenn ich OLAT auslese stimmts), dies aber nicht auf GPIO übertragen wird. Für Hinweise auf Fehler wäre ich sehr dankbar! Vielen Dank für die Mühe MfG Patrick