Arduino библиотека за управление на MCP23017 / MCP23017 Arduino Library
/kn34pc.com/справочник/...

Microchip MCP23017 - 16-Bit I/O Expander with Serial Interface

Features:

- 16-bit remote bidirectional I/O port
- I/O pins default to input
- High-speed I2C interface
- 100 kHz
- 400 kHz
- 1,7 MHz
- Three hardware address pins to allow up to eight devices on the bus

I2C address = (0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27) в зависимост от лог. ниво на адресните изводи A2, A1, A0

***


MCP23017 - тестова схема

Библиотека за управление на MCP23017 под Arduino / MCP23017 Arduino Library:
mcp23017_v0.2.zip

Библиотеката управлява MCP23017 с изводи CAMO! като ИЗХОДИ (засега).

В тестовата схема към I2C шината са свързани (Arduino TWI) вътрешните pull-up резистори на микроконтролера (20..50 kΩ). При друга конфигурация (физическа дължина на шината, скорост, брой устройства, паразитен капацитет) при необходимост да се монтират външни pull-up резистори (1-10 kΩ) към Vcc.

***

Library constructor:

MCP23017(uint8_t);

стойност: I2C address

***

Публични процедури:

void init();
инициализация на библиотеката

void write_gpa(uint8_t m_data);
запис в GPIOA
m_data = 0x0 ... 0xF

void write_gpb(uint8_t m_data);
запис в GPIOB
m_data = 0x0 ... 0xF

void write_gpab(uint16_t m_data);
запис в GPIOA и GPIOB
m_data = 0x00 ... 0xFF

***

Пример 1: Управление на светодиоди (релета и др.)
mcp23017_led.zip

- два светодиода на изводи GPA0 и GPB0


MCP23017, пример 1 - управление на светодиоди

Забележка: Програмният код (или части от него) е за некомерсиално използване!

Използвани материали:
1. MCP23017, Microchip - 16-Bit I/O Expander with Serial Interface [pdf][916kb]

LZ2WSG, Силистра
2 октомври 2018 година