Struct esp_idf_svc::sys::i2s_tdm_clk_config_t
source · #[repr(C)]pub struct i2s_tdm_clk_config_t {
pub sample_rate_hz: u32,
pub clk_src: i32,
pub ext_clk_freq_hz: u32,
pub mclk_multiple: u32,
pub bclk_div: u32,
}
Expand description
@brief I2S clock configuration for TDM mode
Fields§
§sample_rate_hz: u32
< I2S sample rate
clk_src: i32
< Choose clock source, see soc_periph_i2s_clk_src_t
for the supported clock sources.
selected I2S_CLK_SRC_EXTERNAL
(if supports) to enable the external source clock inputted via MCLK pin,
please make sure the frequency inputted is equal or greater than sample_rate_hz * mclk_multiple
ext_clk_freq_hz: u32
< External clock source frequency in Hz, only take effect when clk_src = I2S_CLK_SRC_EXTERNAL
, otherwise this field will be ignored
Please make sure the frequency inputted is equal or greater than BCLK, i.e. sample_rate_hz * slot_bits * slot_num
mclk_multiple: u32
< The multiple of MCLK to the sample rate, only take effect for master role
bclk_div: u32
< The division from MCLK to BCLK, only take effect for slave role, it shouldn’t be smaller than 8. Increase this field when data sent by slave lag behind
Trait Implementations§
source§impl Clone for i2s_tdm_clk_config_t
impl Clone for i2s_tdm_clk_config_t
source§fn clone(&self) -> i2s_tdm_clk_config_t
fn clone(&self) -> i2s_tdm_clk_config_t
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for i2s_tdm_clk_config_t
impl Debug for i2s_tdm_clk_config_t
source§impl Default for i2s_tdm_clk_config_t
impl Default for i2s_tdm_clk_config_t
source§fn default() -> i2s_tdm_clk_config_t
fn default() -> i2s_tdm_clk_config_t
impl Copy for i2s_tdm_clk_config_t
Auto Trait Implementations§
impl Freeze for i2s_tdm_clk_config_t
impl RefUnwindSafe for i2s_tdm_clk_config_t
impl Send for i2s_tdm_clk_config_t
impl Sync for i2s_tdm_clk_config_t
impl Unpin for i2s_tdm_clk_config_t
impl UnwindSafe for i2s_tdm_clk_config_t
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)