-
Thread
I2C IOExpander macht mich wahnsinnig
Hallo, Habe heute den ganzen Tag damit verbracht einem MCP23009 IOExpander via I2C von einem STM32F103 anzusprechen - leider geht noch immer nichts. Vielleicht kann hier mir jemand einen Ratschlag geben. Grundsätzlich funktioniert die Kommunikation via I2C.
Am Ausgang hängt eine LED. Kathode am GPIO, dann Vorwiderstand dann GND. Zuerst setzte ich via mcp23009_setIODirection(0x00) alle IOs als Ausgang. Siehe Bild scope_0.png. Versuche ich danach via mcp23009_writeIOs(0x02) den GPIO2 zu setzen, tut sich nichts. Geschrieben wird auf das Register OLAT (
-
Thread
Portexpander mit I2C oder SPI (5 I/O's)
Port-Expander angesehen und finde vom Funktionsumfang her (konfigurierbare interne Pull-Ups, Reset-Pin) MCP23009 bzw. MCP23S09 passend. Mein Problem ist die Adressierung bei I2C (MPC23009) bzw. der Chip Select bei SPI (MPC23S09). Einer der 5 I/O's wird für den Reset (low-aktiv) benötigt. Bei I2C werden
gleichzeitig an einem > I2C betreiben. Das war mein ursprünglicher Ansatz, geht aber nicht. Der MCP23009 kann auch I2C mit Adressen (Dabei wird ein Spannungsteiler mit ADC verwendet). Leider habe ich diese Vorgaben: Stecker mit max. 5 Pins (der Rest ist Speisung) -> 3 Portexpander (?) -> 24 Relais
-
Thread
STM32 i2c MCP23017 keine Kommunikation
pegel schrieb im Beitrag #5296306: > MCP_I2C_ADDR<<1 | MCP_I2C_W Meine Funktion ist für einen MCP23009. MCP_I2C_ADDR ist die 7bit Adresse. #define MCP_I2C_W (0) //Write #define MCP_I2C_R (1) //Read Ich denke es liegt an den Type casts für die HAL_I2C_Master_Transmit Funktion.
Beitrag #5296364: > pegel wrote: > > MCP_I2C_ADDR << 1 | MCP_I2C_W > > My function is for a MCP23009 . > MCP_I2C_ADDR is the 7bit address. > > #define MCP_I2C_W (0) // Write > #define MCP_I2C_R (1) // Read > > I think it's because of the type casts for the HAL_I2C_Master_Transmit > Function
-
Thread
I2C Baustein zur Identifizierung der Platinenfamilie
Der MCP23009 ist ein IO ähnlich wie der BCF. ES gibt ihn als QFN mit 3 x 3 mm. Hat schaltbare PullUps intern, also nur ausgewählte Pins auf GND für die Kodierung. avr
-
Thread
Suche Schieberegister mit 6 Ausgängen und 2 Eingängen, ähnlich 74HCxxx
daran, dass der PCF8574 nur nach Ground treiben kann. Nach Vcc kann er nur µA. Der MCP23S09 (SPI)/MCP23009 (I2C) kann gleichermaßen nach Vcc und nach GND treiben, kann 25mA per Pin und 200mA insgesamt. Das ist also die bessere Wahl. fchk
-
Thread
MCP23008 Exposed Pad
Zumindest beim MCP23009 steht "Exposed Thermal Pad (EP). Can be left floating or connected to VSS." Man kann davon ausgehen, dass das auch für den 23008 gilt. fchk
-
Thread
Adressen beim TM1637 (I2C Bus)
Expander gibt es von Microchip oder Texas Instruments: https://www.microchip.com/en-us/product/MCP23009 https://www.ti.com/interface/i2c/general-purpose-ios-gpios/products.html Hier sogar als fertiges Modul: https://eckstein-shop.de/Adafruit-MCP23017-I2C-GPIO-Expander-Breakout-for-Arduino-STEMMA-QT-Qwiic
-
Thread
[V] Diverse µC, Speicher und andere ICs
DIP-8 2,00EUR 1 x TXB0108 Breakout 10,00EUR 2 x AD9280ARSZ - SSOP-28 5,00EUR 5 x MCP23009 - DIP-18 - 8Bit I2C Port Expander 3,00EUR 10 x 93LC56B - SO-8 - 2Kbit EEPROM 2,00EUR 3 x 24LC16BT - SOT23-5 - 16Kbit EEPROM 1,00EUR 25 x LMC555 - SO-8 - Timer 20,00EUR 25 x AT24C02C