pub trait _embedded_hal_serial_Read<Word> {
type Error;
// Required method
fn read(&mut self) -> Result<Word, Error<Self::Error>>;
}Expand description
Read half of a serial interface
Some serial interfaces support different data sizes (8 bits, 9 bits, etc.);
This can be encoded in this trait via the Word type parameter.
Required Associated Types§
Required Methods§
Implementors§
Source§impl<P, C> Read<<C as CharSize>::Word> for Spi<Config<P, Slave, C>, Rx>where
Config<P, Slave, C>: ValidConfig,
P: ValidPads,
C: CharSize,
C::Word: PrimInt,
DataWidth: AsPrimitive<C::Word>,
Implement serial::Read for Rx Spi structs in Slave
OpMode
impl<P, C> Read<<C as CharSize>::Word> for Spi<Config<P, Slave, C>, Rx>where
Config<P, Slave, C>: ValidConfig,
P: ValidPads,
C: CharSize,
C::Word: PrimInt,
DataWidth: AsPrimitive<C::Word>,
Implement serial::Read for Rx Spi structs in Slave
OpMode
serial::Read is only implemented for Spi structs with Rx
Capability. In Slave OpMode, Read does not have to initiate
transactions, so it does not have to store any internal state. It only has
to wait on RXC.
Source§impl<P, M, C> Read<<C as CharSize>::Word> for Spi<Config<P, M, C>, Rx>where
Config<P, M, C>: ValidConfig,
P: ValidPads,
M: MasterMode,
C: CharSize,
C::Word: PrimInt,
DataWidth: AsPrimitive<C::Word>,
Implement serial::Read for Rx Spi structs in a MasterMode
impl<P, M, C> Read<<C as CharSize>::Word> for Spi<Config<P, M, C>, Rx>where
Config<P, M, C>: ValidConfig,
P: ValidPads,
M: MasterMode,
C: CharSize,
C::Word: PrimInt,
DataWidth: AsPrimitive<C::Word>,
Implement serial::Read for Rx Spi structs in a MasterMode
Read is only implemented for Spi structs with Rx
Capability. In a MasterMode, Read has to initiate transactions, so
it keeps track of the transaction state. If a transaction is in progress,
it will wait on RXC. If not, it will wait on DRE, and then send 0.