Struct stm32f4xx_hal::spi::Spi
source · [−]pub struct Spi<SPI, PINS, TRANSFER_MODE = TransferModeNormal, OPERATION = Master> { /* private fields */ }
Implementations
sourceimpl<SPI: Instance, PINS> Spi<SPI, PINS, TransferModeNormal, Master>
impl<SPI: Instance, PINS> Spi<SPI, PINS, TransferModeNormal, Master>
pub fn init(self) -> Self
pub fn to_bidi_transfer_mode(self) -> Spi<SPI, PINS, TransferModeBidi, Master>
pub fn to_slave_operation(self) -> Spi<SPI, PINS, TransferModeNormal, Slave>
sourceimpl<SPI: Instance, PINS> Spi<SPI, PINS, TransferModeBidi, Master>
impl<SPI: Instance, PINS> Spi<SPI, PINS, TransferModeBidi, Master>
pub fn init(self) -> Self
pub fn to_normal_transfer_mode(
self
) -> Spi<SPI, PINS, TransferModeNormal, Master>
pub fn to_slave_operation(self) -> Spi<SPI, PINS, TransferModeBidi, Slave>
sourceimpl<SPI: Instance, PINS> Spi<SPI, PINS, TransferModeNormal, Slave>
impl<SPI: Instance, PINS> Spi<SPI, PINS, TransferModeNormal, Slave>
pub fn init(self) -> Self
pub fn to_bidi_transfer_mode(self) -> Spi<SPI, PINS, TransferModeBidi, Slave>
pub fn to_master_operation(self) -> Spi<SPI, PINS, TransferModeNormal, Master>
sourceimpl<SPI: Instance, PINS> Spi<SPI, PINS, TransferModeBidi, Slave>
impl<SPI: Instance, PINS> Spi<SPI, PINS, TransferModeBidi, Slave>
pub fn init(self) -> Self
pub fn to_normal_transfer_mode(
self
) -> Spi<SPI, PINS, TransferModeNormal, Slave>
pub fn to_master_operation(self) -> Spi<SPI, PINS, TransferModeBidi, Master>
sourceimpl<SPI, SCK, MISO, MOSI, TRANSFER_MODE, OPERATION> Spi<SPI, (SCK, MISO, MOSI), TRANSFER_MODE, OPERATION> where
SPI: Instance,
(SCK, MISO, MOSI): Pins<SPI>,
impl<SPI, SCK, MISO, MOSI, TRANSFER_MODE, OPERATION> Spi<SPI, (SCK, MISO, MOSI), TRANSFER_MODE, OPERATION> where
SPI: Instance,
(SCK, MISO, MOSI): Pins<SPI>,
sourceimpl<SPI: Instance, PINS, TRANSFER_MODE, OPERATION> Spi<SPI, PINS, TRANSFER_MODE, OPERATION>
impl<SPI: Instance, PINS, TRANSFER_MODE, OPERATION> Spi<SPI, PINS, TRANSFER_MODE, OPERATION>
sourcepub fn listen(&mut self, event: Event)
pub fn listen(&mut self, event: Event)
Enable interrupts for the given event
:
- Received data ready to be read (RXNE)
- Transmit data register empty (TXE)
- Transfer error
sourcepub fn unlisten(&mut self, event: Event)
pub fn unlisten(&mut self, event: Event)
Disable interrupts for the given event
:
- Received data ready to be read (RXNE)
- Transmit data register empty (TXE)
- Transfer error
sourcepub fn is_txe(&self) -> bool
pub fn is_txe(&self) -> bool
Return true
if the TXE flag is set, i.e. new data to transmit
can be written to the SPI.
sourcepub fn is_rxne(&self) -> bool
pub fn is_rxne(&self) -> bool
Return true
if the RXNE flag is set, i.e. new data has been received
and can be read from the SPI.
sourcepub fn is_modf(&self) -> bool
pub fn is_modf(&self) -> bool
Return true
if the MODF flag is set, i.e. the SPI has experienced a
Master Mode Fault. (see chapter 28.3.10 of the STM32F4 Reference Manual)
sourcepub fn is_ovr(&self) -> bool
pub fn is_ovr(&self) -> bool
Return true
if the OVR flag is set, i.e. new data has been received
while the receive data register was already filled.
pub fn use_dma(self) -> DmaBuilder<SPI>
Trait Implementations
sourceimpl<SPI: Debug, PINS: Debug, TRANSFER_MODE: Debug, OPERATION: Debug> Debug for Spi<SPI, PINS, TRANSFER_MODE, OPERATION>
impl<SPI: Debug, PINS: Debug, TRANSFER_MODE: Debug, OPERATION: Debug> Debug for Spi<SPI, PINS, TRANSFER_MODE, OPERATION>
sourceimpl<SPI, PINS> FullDuplex<u8> for Spi<SPI, PINS, TransferModeNormal> where
SPI: Instance,
impl<SPI, PINS> FullDuplex<u8> for Spi<SPI, PINS, TransferModeNormal> where
SPI: Instance,
sourceimpl<SPI, PINS> FullDuplex<u8> for Spi<SPI, PINS, TransferModeBidi> where
SPI: Instance,
impl<SPI, PINS> FullDuplex<u8> for Spi<SPI, PINS, TransferModeBidi> where
SPI: Instance,
sourceimpl<SPI, PINS> FullDuplex<u8> for Spi<SPI, PINS, TransferModeNormal> where
SPI: Instance,
impl<SPI, PINS> FullDuplex<u8> for Spi<SPI, PINS, TransferModeNormal> where
SPI: Instance,
sourceimpl<SPI, PINS> FullDuplex<u8> for Spi<SPI, PINS, TransferModeBidi> where
SPI: Instance,
impl<SPI, PINS> FullDuplex<u8> for Spi<SPI, PINS, TransferModeBidi> where
SPI: Instance,
sourceimpl<SPI, PINS, TRANSFER_MODE, W: Copy + Default + 'static> Read<W> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
impl<SPI, PINS, TRANSFER_MODE, W: Copy + Default + 'static> Read<W> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
sourceimpl<SPI, PINS, TRANSFER_MODE, W: 'static> Transactional<W> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: Write<W, Error = Error> + Transfer<W, Error = Error>,
impl<SPI, PINS, TRANSFER_MODE, W: 'static> Transactional<W> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: Write<W, Error = Error> + Transfer<W, Error = Error>,
sourceimpl<SPI, PINS, TRANSFER_MODE, W: Copy + 'static> Transactional<W> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: Write<W, Error = Error> + Read<W, Error = Error> + TransferInplace<W, Error = Error> + Transfer<W, Error = Error>,
impl<SPI, PINS, TRANSFER_MODE, W: Copy + 'static> Transactional<W> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: Write<W, Error = Error> + Read<W, Error = Error> + TransferInplace<W, Error = Error> + Transfer<W, Error = Error>,
sourceimpl<SPI, PINS, TRANSFER_MODE, W: Copy + 'static> Transfer<W> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
impl<SPI, PINS, TRANSFER_MODE, W: Copy + 'static> Transfer<W> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
sourceimpl<SPI, PINS, TRANSFER_MODE> Transfer<u8> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: FullDuplex<u8, Error = Error>,
SPI: Instance,
impl<SPI, PINS, TRANSFER_MODE> Transfer<u8> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: FullDuplex<u8, Error = Error>,
SPI: Instance,
sourceimpl<SPI, PINS, TRANSFER_MODE, W: Copy + 'static> TransferInplace<W> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
impl<SPI, PINS, TRANSFER_MODE, W: Copy + 'static> TransferInplace<W> for Spi<SPI, PINS, TRANSFER_MODE> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
sourceimpl<SPI, PINS, W: Copy + 'static> Write<W> for Spi<SPI, PINS, TransferModeNormal> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
impl<SPI, PINS, W: Copy + 'static> Write<W> for Spi<SPI, PINS, TransferModeNormal> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
sourceimpl<SPI, PINS, W: Copy + 'static> Write<W> for Spi<SPI, PINS, TransferModeBidi> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
impl<SPI, PINS, W: Copy + 'static> Write<W> for Spi<SPI, PINS, TransferModeBidi> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
sourceimpl<SPI, PINS> Write<u8> for Spi<SPI, PINS, TransferModeNormal> where
Self: FullDuplex<u8, Error = Error>,
SPI: Instance,
impl<SPI, PINS> Write<u8> for Spi<SPI, PINS, TransferModeNormal> where
Self: FullDuplex<u8, Error = Error>,
SPI: Instance,
sourceimpl<SPI, PINS> Write<u8> for Spi<SPI, PINS, TransferModeBidi> where
Self: FullDuplex<u8, Error = Error>,
SPI: Instance,
impl<SPI, PINS> Write<u8> for Spi<SPI, PINS, TransferModeBidi> where
Self: FullDuplex<u8, Error = Error>,
SPI: Instance,
sourceimpl<SPI, PINS, W: Copy + 'static> WriteIter<W> for Spi<SPI, PINS, TransferModeNormal> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
impl<SPI, PINS, W: Copy + 'static> WriteIter<W> for Spi<SPI, PINS, TransferModeNormal> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
sourcefn write_iter<WI>(&mut self, words: WI) -> Result<(), Self::Error> where
WI: IntoIterator<Item = W>,
fn write_iter<WI>(&mut self, words: WI) -> Result<(), Self::Error> where
WI: IntoIterator<Item = W>,
Writes words
to the slave, ignoring all the incoming words
sourceimpl<SPI, PINS, W: Copy + 'static> WriteIter<W> for Spi<SPI, PINS, TransferModeBidi> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
impl<SPI, PINS, W: Copy + 'static> WriteIter<W> for Spi<SPI, PINS, TransferModeBidi> where
Self: FullDuplex<W, Error = Error>,
SPI: Instance,
sourcefn write_iter<WI>(&mut self, words: WI) -> Result<(), Self::Error> where
WI: IntoIterator<Item = W>,
fn write_iter<WI>(&mut self, words: WI) -> Result<(), Self::Error> where
WI: IntoIterator<Item = W>,
Writes words
to the slave, ignoring all the incoming words
sourceimpl<SPI, PINS> WriteIter<u8> for Spi<SPI, PINS, TransferModeNormal> where
Self: FullDuplex<u8, Error = Error>,
SPI: Instance,
impl<SPI, PINS> WriteIter<u8> for Spi<SPI, PINS, TransferModeNormal> where
Self: FullDuplex<u8, Error = Error>,
SPI: Instance,
sourcefn write_iter<WI>(&mut self, words: WI) -> Result<(), Self::Error> where
WI: IntoIterator<Item = u8>,
fn write_iter<WI>(&mut self, words: WI) -> Result<(), Self::Error> where
WI: IntoIterator<Item = u8>,
Sends words
to the slave, ignoring all the incoming words
sourceimpl<SPI, PINS> WriteIter<u8> for Spi<SPI, PINS, TransferModeBidi> where
Self: FullDuplex<u8, Error = Error>,
SPI: Instance,
impl<SPI, PINS> WriteIter<u8> for Spi<SPI, PINS, TransferModeBidi> where
Self: FullDuplex<u8, Error = Error>,
SPI: Instance,
sourcefn write_iter<WI>(&mut self, words: WI) -> Result<(), Self::Error> where
WI: IntoIterator<Item = u8>,
fn write_iter<WI>(&mut self, words: WI) -> Result<(), Self::Error> where
WI: IntoIterator<Item = u8>,
Sends words
to the slave, ignoring all the incoming words
Auto Trait Implementations
impl<SPI, PINS, TRANSFER_MODE, OPERATION> RefUnwindSafe for Spi<SPI, PINS, TRANSFER_MODE, OPERATION> where
OPERATION: RefUnwindSafe,
PINS: RefUnwindSafe,
SPI: RefUnwindSafe,
TRANSFER_MODE: RefUnwindSafe,
impl<SPI, PINS, TRANSFER_MODE, OPERATION> Send for Spi<SPI, PINS, TRANSFER_MODE, OPERATION> where
OPERATION: Send,
PINS: Send,
SPI: Send,
TRANSFER_MODE: Send,
impl<SPI, PINS, TRANSFER_MODE, OPERATION> Sync for Spi<SPI, PINS, TRANSFER_MODE, OPERATION> where
OPERATION: Sync,
PINS: Sync,
SPI: Sync,
TRANSFER_MODE: Sync,
impl<SPI, PINS, TRANSFER_MODE, OPERATION> Unpin for Spi<SPI, PINS, TRANSFER_MODE, OPERATION> where
OPERATION: Unpin,
PINS: Unpin,
SPI: Unpin,
TRANSFER_MODE: Unpin,
impl<SPI, PINS, TRANSFER_MODE, OPERATION> UnwindSafe for Spi<SPI, PINS, TRANSFER_MODE, OPERATION> where
OPERATION: UnwindSafe,
PINS: UnwindSafe,
SPI: UnwindSafe,
TRANSFER_MODE: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more