LibDriver PCA9548A
Loading...
Searching...
No Matches
driver_pca9548a.h File Reference

driver pca9548a header file More...

#include <stdio.h>
#include <stdint.h>
#include <string.h>
Include dependency graph for driver_pca9548a.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pca9548a_handle_s
 pca9548a handle structure definition More...
struct  pca9548a_info_s
 pca9548a information structure definition More...

Macros

#define DRIVER_PCA9548A_LINK_INIT(HANDLE, STRUCTURE)
 initialize pca9548a_handle_t structure
#define DRIVER_PCA9548A_LINK_RESET_GPIO_INIT(HANDLE, FUC)
 link reset_gpio_init function
#define DRIVER_PCA9548A_LINK_RESET_GPIO_DEINIT(HANDLE, FUC)
 link reset_gpio_deinit function
#define DRIVER_PCA9548A_LINK_RESET_GPIO_WRITE(HANDLE, FUC)
 link reset_gpio_write function
#define DRIVER_PCA9548A_LINK_IIC_INIT(HANDLE, FUC)
 link iic_init function
#define DRIVER_PCA9548A_LINK_IIC_DEINIT(HANDLE, FUC)
 link iic_deinit function
#define DRIVER_PCA9548A_LINK_IIC_READ_COMMAND(HANDLE, FUC)
 link iic_read_cmd function
#define DRIVER_PCA9548A_LINK_IIC_WRITE_COMMAND(HANDLE, FUC)
 link iic_write_cmd function
#define DRIVER_PCA9548A_LINK_IIC_READ(HANDLE, FUC)
 link iic_read function
#define DRIVER_PCA9548A_LINK_IIC_WRITE(HANDLE, FUC)
 link iic_write function
#define DRIVER_PCA9548A_LINK_IIC_READ_ADDRESS16(HANDLE, FUC)
 link iic_read_address16 function
#define DRIVER_PCA9548A_LINK_IIC_WRITE_ADDRESS16(HANDLE, FUC)
 link iic_write_address16 function
#define DRIVER_PCA9548A_LINK_DELAY_MS(HANDLE, FUC)
 link delay_ms function
#define DRIVER_PCA9548A_LINK_DEBUG_PRINT(HANDLE, FUC)
 link debug_print function

Typedefs

typedef struct pca9548a_handle_s pca9548a_handle_t
 pca9548a handle structure definition
typedef struct pca9548a_info_s pca9548a_info_t
 pca9548a information structure definition

Enumerations

enum  pca9548a_address_t {
  PCA9548A_ADDRESS_A000 = 0xE0 , PCA9548A_ADDRESS_A001 = 0xE2 , PCA9548A_ADDRESS_A010 = 0xE4 , PCA9548A_ADDRESS_A011 = 0xE6 ,
  PCA9548A_ADDRESS_A100 = 0xE8 , PCA9548A_ADDRESS_A101 = 0xEA , PCA9548A_ADDRESS_A110 = 0xEC , PCA9548A_ADDRESS_A111 = 0xEE
}
 pca9548a address enumeration definition More...
enum  pca9548a_bool_t { PCA9548A_BOOL_FALSE = 0x00 , PCA9548A_BOOL_TRUE = 0x01 }
 pca9548a bool enumeration definition More...
enum  pca9548a_channel_t {
  PCA9548A_CHANNEL_0 = 0 , PCA9548A_CHANNEL_1 = 1 , PCA9548A_CHANNEL_2 = 2 , PCA9548A_CHANNEL_3 = 3 ,
  PCA9548A_CHANNEL_4 = 4 , PCA9548A_CHANNEL_5 = 5 , PCA9548A_CHANNEL_6 = 6 , PCA9548A_CHANNEL_7 = 7
}
 pca9548a channel enumeration definition More...

Functions

uint8_t pca9548a_info (pca9548a_info_t *info)
 get chip's information
uint8_t pca9548a_set_addr_pin (pca9548a_handle_t *handle, pca9548a_address_t addr_pin)
 set the address pin
uint8_t pca9548a_get_addr_pin (pca9548a_handle_t *handle, pca9548a_address_t *addr_pin)
 get the address pin
uint8_t pca9548a_init (pca9548a_handle_t *handle)
 initialize the chip
uint8_t pca9548a_deinit (pca9548a_handle_t *handle)
 close the chip
uint8_t pca9548a_set_channel (pca9548a_handle_t *handle, pca9548a_channel_t channel, pca9548a_bool_t enable)
 set channel
uint8_t pca9548a_get_channel (pca9548a_handle_t *handle, pca9548a_channel_t channel, pca9548a_bool_t *enable)
 get channel
uint8_t pca9548a_reset_bus (pca9548a_handle_t *handle)
 reset bus
uint8_t pca9548a_iic_read_command (pca9548a_handle_t *handle, uint8_t addr, uint8_t *buf, uint16_t len)
 iic read command
uint8_t pca9548a_iic_write_command (pca9548a_handle_t *handle, uint8_t addr, uint8_t *buf, uint16_t len)
 iic write command
uint8_t pca9548a_iic_read (pca9548a_handle_t *handle, uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 iic read
uint8_t pca9548a_iic_write (pca9548a_handle_t *handle, uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 iic write
uint8_t pca9548a_iic_read_address16 (pca9548a_handle_t *handle, uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
 iic read address16
uint8_t pca9548a_iic_write_address16 (pca9548a_handle_t *handle, uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
 iic write address16

Detailed Description

driver pca9548a header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Version
1.0.0
Author
Shifeng Li
Date
2025-10-15

history

Date Version Author Description
2025/10/15 1.0 Shifeng Li first upload

Definition in file driver_pca9548a.h.