SparkFun Qwiic GPIO Hookup Guide
Qwiic GPIO Arduino Library
The SparkFun Qwiic GPIO Arduino Library helps to make interfacing between the TCA9534 and your Arduino microcontroller simple. In this section we'll list all of the functions available in the library as well as brief descriptions about what they do.
Library Functions
We've outlined all the functions in the Arduino library below along with some quick descriptions of what they do. The examples cover nearly all of the functions so you may want to refer to those for help with writing your own code using them.
Device Setup & Settings
bool begin(TwoWire &wirePort, uint8_t address);
- Initialize the TCA9534 on the I2C bus. If you have set the TCA9534 to an alternate I2C address using the ADR jumpers, enter that here.bool pinMode(uint8_t gpioNumber, bool mode);
- Sets the mode of the selected GPIO pin on the TCA9534. For example,pinMode(0, GPIO_OUT);
sets pin 0 as an output. All I/O's default to Inputs on power up.bool pinMode(bool *gpioPinMode);
- An alternative to the above function to set the entire port as an input or output. This accepts a bool defined in your setup to set all eight GPIO pins at once. Refer to Example1B - Write_GPIO_Port for more information on using this function.bool invertPin(uint8_t gpioNumber, bool inversionMode);
- Invert the polarity of the selected GPIO pin on the TCA9534.bool invertPin(bool *inversionMode);
- Invert the polarity of the entire port of the TCA9534. Refer to Example 3B - Inversion_Port for a demonstration of how to set up and use this function.
GPIO Reading and Writing
bool digitalWrite(uint8_t gpioNumber, bool value);
- Your basic Digital Write function. Write to the selected GPIO pin eitherHIGH
orLOW
.bool digitalWrite(bool *gpioOutStatus);
- Write to the entire port set up using abool
to eitherHIGH
orLOW
.bool digitalRead(uint8_t gpioNumber);
- Standard Digital Read function. Returns the status of the selected GPIO pin.uint8_t digitalReadPort(bool *gpioInStatus);
- Read the status of the entire port set up using abool
. Returns status of all selected pins on the port. Take a look at Example2B - Read_GPIO_Port for reference.
Advanced Functions
These functions are intended for experienced users to write and read specific bits and registers.
bool readBit(uint8_t regAddr, uint8_t bitAddr);
- Read a specific bit in a selected register.bool writeBit(uint8_t regAddr, uint8_t bitAddr, bool bitToWrite);
- Write to a specific bit in a selected register.uint8_t readRegister(uint8_t addr);
- Read a specific register.bool writeRegister(uint8_t addr, uint8_t val);
- Write to a specific register.
Next up we'll cover the examples included with the Qwiic GPIO Arduino library to see these functions in action along with explaining a bit more on how to set up the port options for pinMode();
, invertPin();
and digitalWrite();
.