RCM — ESP32 Room Controller
WT32-ETH01 firmware
Loading...
Searching...
No Matches
i2c_bus.c File Reference

Общая I2C-шина master для LCM, DS3231 и др. More...

#include "i2c_bus.h"
#include "esp_check.h"
#include "esp_log.h"

Go to the source code of this file.

Functions

esp_err_t i2c_bus_init (void)
 Создаёт master-шину I2C (идемпотентно).
 
i2c_master_bus_handle_t i2c_bus_handle (void)
 Вернуть handle общей шины (NULL, если i2c_bus_init ещё не вызывали).
 
esp_err_t i2c_bus_add_device (uint8_t addr7, i2c_master_dev_handle_t *dev)
 Добавить устройство с 7-битным адресом на общую шину.
 

Variables

static const char * TAG = "i2c_bus"
 
static i2c_master_bus_handle_t s_bus
 
static bool s_initialized
 

Detailed Description

Общая I2C-шина master для LCM, DS3231 и др.

Definition in file i2c_bus.c.

Function Documentation

◆ i2c_bus_add_device()

esp_err_t i2c_bus_add_device ( uint8_t addr7,
i2c_master_dev_handle_t * dev )

Добавить устройство с 7-битным адресом на общую шину.

Parameters
addr77-битный адрес slave.
[out]devHandle устройства.

Definition at line 43 of file i2c_bus.c.

References I2C_BUS_FREQ_HZ, s_bus, s_initialized, and TAG.

Referenced by ds3231_init(), and i2c_cmd_device_init().

◆ i2c_bus_handle()

i2c_master_bus_handle_t i2c_bus_handle ( void )

Вернуть handle общей шины (NULL, если i2c_bus_init ещё не вызывали).

Definition at line 38 of file i2c_bus.c.

References s_bus.

◆ i2c_bus_init()

esp_err_t i2c_bus_init ( void )

Создаёт master-шину I2C (идемпотентно).

Вызывать один раз до инициализации устройств на шине.

Definition at line 16 of file i2c_bus.c.

References I2C_BUS_FREQ_HZ, I2C_BUS_PORT, I2C_BUS_SCL_GPIO, I2C_BUS_SDA_GPIO, s_bus, s_initialized, and TAG.

Referenced by app_main(), ds3231_init(), and i2c_cmd_device_init().

Variable Documentation

◆ s_bus

i2c_master_bus_handle_t s_bus
static

Definition at line 13 of file i2c_bus.c.

Referenced by i2c_bus_add_device(), i2c_bus_handle(), and i2c_bus_init().

◆ s_initialized

bool s_initialized
static

Definition at line 14 of file i2c_bus.c.

Referenced by i2c_bus_add_device(), and i2c_bus_init().

◆ TAG

const char* TAG = "i2c_bus"
static

Definition at line 11 of file i2c_bus.c.

Referenced by i2c_bus_add_device(), and i2c_bus_init().