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
.