Struct esp32_hal::peripherals::I2C0
source · pub struct I2C0 { /* private fields */ }
Implementations§
source§impl I2C0
impl I2C0
sourcepub unsafe fn steal() -> I2C0
pub unsafe fn steal() -> I2C0
Unsafely create an instance of this peripheral out of thin air.
Safety
You must ensure that you’re only using one instance of this type at a time.
Trait Implementations§
source§impl Instance for I2C0
impl Instance for I2C0
fn register_block(&self) -> &RegisterBlock
fn i2c_number(&self) -> usize
fn setup(&mut self, frequency: Rate<u32, 1, 1>, clocks: &Clocks<'_>)
source§fn reset_command_list(&self)
fn reset_command_list(&self)
Resets the I2C peripheral’s command registers
source§fn set_filter(&mut self, sda_threshold: Option<u8>, scl_threshold: Option<u8>)
fn set_filter(&mut self, sda_threshold: Option<u8>, scl_threshold: Option<u8>)
Sets the filter with a supplied threshold in clock cycles for which a
pulse must be present to pass the filter
source§fn set_frequency(
&mut self,
source_clk: Rate<u32, 1, 1>,
bus_freq: Rate<u32, 1, 1>
)
fn set_frequency( &mut self, source_clk: Rate<u32, 1, 1>, bus_freq: Rate<u32, 1, 1> )
Sets the frequency of the I2C interface by calculating and applying the
associated timings - corresponds to i2c_ll_cal_bus_clk and
i2c_ll_set_bus_timing in ESP-IDF
fn configure_clock( &mut self, sclk_div: u32, scl_low_period: u32, scl_high_period: u32, scl_wait_high_period: u32, sda_hold_time: u32, sda_sample_time: u32, scl_rstart_setup_time: u32, scl_stop_setup_time: u32, scl_start_hold_time: u32, scl_stop_hold_time: u32, time_out_value: u32, time_out_en: bool )
fn perform_write<'a, I>( &self, addr: u8, bytes: &[u8], cmd_iterator: &mut I ) -> Result<(), Error>where I: Iterator<Item = &'a Reg<COMD_SPEC>>,
fn perform_read<'a, I>( &self, addr: u8, buffer: &mut [u8], cmd_iterator: &mut I ) -> Result<(), Error>where I: Iterator<Item = &'a Reg<COMD_SPEC>>,
fn read_all_from_fifo(&self, buffer: &mut [u8]) -> Result<(), Error>
fn clear_all_interrupts(&self)
fn wait_for_completion(&self) -> Result<(), Error>
fn check_errors(&self) -> Result<(), Error>
fn update_config(&self)
fn start_transmission(&self)
fn fill_tx_fifo(&self, bytes: &[u8]) -> usize
fn write_remaining_tx_fifo( &self, start_index: usize, bytes: &[u8] ) -> Result<(), Error>
source§fn reset_fifo(&self)
fn reset_fifo(&self)
Resets the transmit and receive FIFO buffers
source§fn master_write(&mut self, addr: u8, bytes: &[u8]) -> Result<(), Error>
fn master_write(&mut self, addr: u8, bytes: &[u8]) -> Result<(), Error>
Send data bytes from the
bytes
array to a target slave with the
address addr