esp_hal/i2c/mod.rs
1//! # Inter-Integrated Circuit (I2C)
2//!
3//! I2C is a serial, synchronous, multi-device, half-duplex communication
4//! protocol that allows co-existence of multiple masters and slaves on the
5//! same bus. I2C uses two bidirectional open-drain lines: serial data line
6//! (SDA) and serial clock line (SCL), pulled up by resistors.
7//!
8//! For more information, see
9#![doc = crate::trm_markdown_link!("i2c")]
10
11#[cfg(i2c_master_driver_supported)]
12pub mod master;
13
14#[cfg(soc_has_lp_i2c0)]
15crate::unstable_module! {
16 pub mod lp_i2c;
17}
18
19#[cfg(esp32s3)] // Only support ESP32-S3 for now.
20#[cfg(soc_has_rtc_i2c)]
21crate::unstable_module! {
22 pub mod rtc;
23}