Bitflags
O crate bitflags
Ă© Ăștil para trabalhar com bitflags.
use bitflags::bitflags; bitflags! { /// _Flags_ do registrador de _flags_ do UART. #[repr(transparent)] #[derive(Copy, Clone, Debug, Eq, PartialEq)] struct Flags: u16 { /// Limpar para enviar. const CTS = 1 << 0; /// Dados prontos para envio. const DSR = 1 << 1; /// Dados detectados pelo receptor. const DCD = 1 << 2; /// UART ocupado transmitindo dados. const BUSY = 1 << 3; /// O FIFO de recebimento estĂĄ vazio. const RXFE = 1 << 4; /// O FIFO de transmissĂŁo estĂĄ cheio. const TXFF = 1 << 5; /// O FIFO de recebimento estĂĄ cheio. const RXFF = 1 << 6; /// O FIFO de transmissĂŁo estĂĄ vazio. const TXFE = 1 << 7; /// Indicador de anel. const RI = 1 << 8; } }
- A macro
bitflags!
cria um newtype algo comoFlags(u16)
, junto com um monte de implementaçÔes de método para obter e setar flags.