Skip to content

daisy::Mcp23X17

More...

#include <mcp23x17.h>

Public Classes

Name
struct Config

Public Functions

Name
void Init()
void Init(const Config & config)
void PortMode(MCPPort port, uint8_t directions, uint8_t pullups =0xFF, uint8_t inverted =0x00)
void PinMode(uint8_t pin, MCPMode mode, bool inverted)
void WritePin(uint8_t pin, uint8_t state)
uint8_t ReadPin(uint8_t pin)
void WritePort(MCPPort port, uint8_t value)
uint8_t ReadPort(MCPPort port)
void Write(uint16_t value)
uint16_t Read()
uint8_t GetPin(uint8_t id)
Fetches pin state from the result of recent Read() call. Useful to preserve unneeded reads.

Detailed Description

template <typename Transport >
class daisy::Mcp23X17;

Public Functions Documentation

function Init

inline void Init()

function Init

inline void Init(
    const Config & config
)

function PortMode

inline void PortMode(
    MCPPort port,
    uint8_t directions,
    uint8_t pullups =0xFF,
    uint8_t inverted =0x00
)

Controls the pins direction on a whole port at once.

directions: 0 - output, 1 - input pullups: 0 - disabled, 1 - enabled inverted: 0 - false/normal, 1 - true/inverted

See "3.5.1 I/O Direction register".


function PinMode

inline void PinMode(
    uint8_t pin,
    MCPMode mode,
    bool inverted
)

Controls a single pin direction. Pin 0-7 for port A, 8-15 fo port B.

1 = Pin is configured as an input. 0 = Pin is configured as an output.

See "3.5.1 I/O Direction register".


function WritePin

inline void WritePin(
    uint8_t pin,
    uint8_t state
)

Writes a single pin state. Pin 0-7 for port A, 8-15 for port B.

1 = Logic-high 0 = Logic-low

See "3.5.10 Port register".


function ReadPin

inline uint8_t ReadPin(
    uint8_t pin
)

Reads a single pin state. Pin 0-7 for port A, 8-15 for port B.

1 = Logic-high 0 = Logic-low

See "3.5.10 Port register".


function WritePort

inline void WritePort(
    MCPPort port,
    uint8_t value
)

Writes pins state to a whole port.

1 = Logic-high 0 = Logic-low

See "3.5.10 Port register".


function ReadPort

inline uint8_t ReadPort(
    MCPPort port
)

Reads pins state for a whole port.

1 = Logic-high 0 = Logic-low

See "3.5.10 Port register".


function Write

inline void Write(
    uint16_t value
)

Writes pins state to both ports.

1 = Logic-high 0 = Logic-low

See "3.5.10 Port register".


function Read

inline uint16_t Read()

Reads pins state for both ports.

1 = Logic-high 0 = Logic-low

See "3.5.10 Port register".


function GetPin

inline uint8_t GetPin(
    uint8_t id
)

Fetches pin state from the result of recent Read() call. Useful to preserve unneeded reads.

Parameters:

  • id pin ID

Return: uint8_t pin state: 0x00 or 0xFF

---

Updated on 2024-01-03 at 19:41:00 +0000