Trait embedded_hal::blocking::i2c::WriteRead
[−]
[src]
pub trait WriteRead {
type Error;
fn write_read(
&mut self,
address: u8,
bytes: &[u8],
buffer: &mut [u8]
) -> Result<(), Self::Error>;
}Blocking write + read
Associated Types
type Error
Error type
Required Methods
fn write_read(
&mut self,
address: u8,
bytes: &[u8],
buffer: &mut [u8]
) -> Result<(), Self::Error>
&mut self,
address: u8,
bytes: &[u8],
buffer: &mut [u8]
) -> Result<(), Self::Error>
Sends bytes to slave with address addr and then reads enough bytes to fill buffer in a
single transaction
I2C Events (contract)
Master: ST SAD+W O0 O1 ... OM SR SAD+R MAK MAK ... NMAK SP
Slave: SAK SAK SAK ... SAK SAK I0 I1 ... IN
Where
ST= start conditionSAD+W= slave address with 8th bit set to 0SAK= slave acknowledgeOi= ith outgoing byte of dataSR= repeated start conditionSAD+R= slave address with 8th bit set to 1Ii= ith incoming byte of dataMAK= master acknowledgeNMAK= master no acknowledgeSP= stop condition