#[repr(C)]pub struct i2s_std_clk_config_t {
pub sample_rate_hz: u32,
pub clk_src: i2s_clock_src_t,
pub ext_clk_freq_hz: u32,
pub mclk_multiple: i2s_mclk_multiple_t,
pub bclk_div: u32,
}Expand description
@brief I2S clock configuration for standard mode
Fields§
§sample_rate_hz: u32< I2S sample rate
clk_src: i2s_clock_src_t< 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 input via MCLK pin,
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 input is equal or greater than BCLK, i.e. sample_rate_hz * slot_bits * 2
mclk_multiple: i2s_mclk_multiple_t< The multiple of MCLK to the sample rate
Default is 256 in the helper macro, it can satisfy most of cases,
but please set this field a multiple of 3 (like 384) when using 24-bit data width,
otherwise the sample rate might be inaccurate
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_std_clk_config_t
impl Clone for i2s_std_clk_config_t
Source§fn clone(&self) -> i2s_std_clk_config_t
fn clone(&self) -> i2s_std_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_std_clk_config_t
impl Debug for i2s_std_clk_config_t
Source§impl Default for i2s_std_clk_config_t
impl Default for i2s_std_clk_config_t
impl Copy for i2s_std_clk_config_t
Auto Trait Implementations§
impl Freeze for i2s_std_clk_config_t
impl RefUnwindSafe for i2s_std_clk_config_t
impl Send for i2s_std_clk_config_t
impl Sync for i2s_std_clk_config_t
impl Unpin for i2s_std_clk_config_t
impl UnsafeUnpin for i2s_std_clk_config_t
impl UnwindSafe for i2s_std_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,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)