Crate stm32_i2s_v12x
source · [−]Expand description
This library supports I2S communication for SPI version 1.2 (on STM32F1, STM32F2, STM32F4, STM32L0, and STM32L1 microcontrollers).
This library is normally used through a MCU HAL library providing types that implement
I2sPeripheral
. I2sDriver
or I2sTransfer
objects can be created around I2sPeripheral object and used for I2S communication.
For stm32 MCU HAL implementers
To support I2s by using this library, HAL implementers must implements I2sPeripheral
trait
and reexport this crate. It’s also recommended to create some example. For reference,
implementation and examples are (or will be soon) available in stm32f4xx-hal.
For i2s users
For fine control and advanced usage, look driver module. For quick and basic usage, look transfer module.
Issues and limitations
- In master mode, there is currently no way to reset clock phase.
- In master transmit mode, the CHSIDE flag appear to be sporadically wrong
As consequence :
- for driver in master transmit, once driver has been disabled, it’s may impossible to reliably know what is the next part to transmit.
- for driver in master receive, this information can be recovered using CHSIDE flag. However, this doesn’t work with PCM standard.
- Once a transfer in master transmit mode have been disabled, it will work incorrectly until next MCU reset.
- master receive transfer is not implemented for PCM.
Modules
Types definitions for I2S driver.
Markers for I2sDriver
,
I2sTransfer
and their respective configuration.
Abstraction to transfer I2S data.
Traits
An object composed of a SPI device that can be used for I2S communication.