Arduino und I2C - MCP23017


Gepostet September 2017, Kategorie: I2C & SPI


Arduino und I2C - MCP23017

Der MCP23017 ist ein 16-Bit I/0-Expander, der über das serielle Protokoll I2C angesteuert wird. In diesem Post geht es darum, wie dieser Chip vom Arduino angesprochen werden kann.


Was ist uint8_t ?

Um die Größe von Ganzzahl-Datentypen eindeutig zu definieren empfiehlt es sich die Datentypen der stdint.h-Datei zu verwenden. Die folgenden Tabelle soll Überblick über diese Datentypen verschaffen.

STDINT C Größe Minimum Maximum
int8_t char 8 Bit -128 127
uint8_t unsigned char oder byte 8 Bit 0 255
int16_t short (int) 16 Bit -32 768 32 767
uint16_t unsigned short (unsigned int) 16 Bit 0 65 535
int32_t long 32 Bit -2 147 483 648 2 147 483 647
uint32_t unsigned long 32 Bit 0 4 294 967 295

Das größte Problem der C-Datentypen stellt der Datentyp int dar. Dieser ist nicht eindeutig definiert und hängt von der Mikrocontroller ab, für den das Programm kompiliert wird. Bei 16-Bit-Controllern ist int meist 16 Bit groß, bei 32-Bit-Controllern meist 32 Bit.

Dieses Problem tritt bei der Verwendung der Datentypen der stdint.h nicht auf.

Wetterdaten Eilenburg
Temperatur: 6.3 °C
Luftdruck: 1005.6 hPa
Luftfeuchte: 79 %
[mehr]