#[doc = "Register `US_CR` writer"]
pub struct W(crate::W<US_CR_SPEC>);
impl core::ops::Deref for W {
type Target = crate::W<US_CR_SPEC>;
#[inline(always)]
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl core::ops::DerefMut for W {
#[inline(always)]
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.0
}
}
impl From<crate::W<US_CR_SPEC>> for W {
#[inline(always)]
fn from(writer: crate::W<US_CR_SPEC>) -> Self {
W(writer)
}
}
#[doc = "Field `RSTRX` writer - Reset Receiver"]
pub struct RSTRX_W<'a> {
w: &'a mut W,
}
impl<'a> RSTRX_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 2)) | ((value as u32 & 0x01) << 2);
self.w
}
}
#[doc = "Field `RSTTX` writer - Reset Transmitter"]
pub struct RSTTX_W<'a> {
w: &'a mut W,
}
impl<'a> RSTTX_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 3)) | ((value as u32 & 0x01) << 3);
self.w
}
}
#[doc = "Field `RXEN` writer - Receiver Enable"]
pub struct RXEN_W<'a> {
w: &'a mut W,
}
impl<'a> RXEN_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 4)) | ((value as u32 & 0x01) << 4);
self.w
}
}
#[doc = "Field `RXDIS` writer - Receiver Disable"]
pub struct RXDIS_W<'a> {
w: &'a mut W,
}
impl<'a> RXDIS_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 5)) | ((value as u32 & 0x01) << 5);
self.w
}
}
#[doc = "Field `TXEN` writer - Transmitter Enable"]
pub struct TXEN_W<'a> {
w: &'a mut W,
}
impl<'a> TXEN_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 6)) | ((value as u32 & 0x01) << 6);
self.w
}
}
#[doc = "Field `TXDIS` writer - Transmitter Disable"]
pub struct TXDIS_W<'a> {
w: &'a mut W,
}
impl<'a> TXDIS_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 7)) | ((value as u32 & 0x01) << 7);
self.w
}
}
#[doc = "Field `RSTSTA` writer - Reset Status Bits"]
pub struct RSTSTA_W<'a> {
w: &'a mut W,
}
impl<'a> RSTSTA_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 8)) | ((value as u32 & 0x01) << 8);
self.w
}
}
#[doc = "Field `STTBRK` writer - Start Break"]
pub struct STTBRK_W<'a> {
w: &'a mut W,
}
impl<'a> STTBRK_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 9)) | ((value as u32 & 0x01) << 9);
self.w
}
}
#[doc = "Field `STPBRK` writer - Stop Break"]
pub struct STPBRK_W<'a> {
w: &'a mut W,
}
impl<'a> STPBRK_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 10)) | ((value as u32 & 0x01) << 10);
self.w
}
}
#[doc = "Field `STTTO` writer - Clear TIMEOUT Flag and Start Time-out After Next Character Received"]
pub struct STTTO_W<'a> {
w: &'a mut W,
}
impl<'a> STTTO_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 11)) | ((value as u32 & 0x01) << 11);
self.w
}
}
#[doc = "Field `SENDA` writer - Send Address"]
pub struct SENDA_W<'a> {
w: &'a mut W,
}
impl<'a> SENDA_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 12)) | ((value as u32 & 0x01) << 12);
self.w
}
}
#[doc = "Field `RSTIT` writer - Reset Iterations"]
pub struct RSTIT_W<'a> {
w: &'a mut W,
}
impl<'a> RSTIT_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 13)) | ((value as u32 & 0x01) << 13);
self.w
}
}
#[doc = "Field `RSTNACK` writer - Reset Non Acknowledge"]
pub struct RSTNACK_W<'a> {
w: &'a mut W,
}
impl<'a> RSTNACK_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 14)) | ((value as u32 & 0x01) << 14);
self.w
}
}
#[doc = "Field `RETTO` writer - Start Time-out Immediately"]
pub struct RETTO_W<'a> {
w: &'a mut W,
}
impl<'a> RETTO_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 15)) | ((value as u32 & 0x01) << 15);
self.w
}
}
#[doc = "Field `DTREN` writer - Data Terminal Ready Enable"]
pub struct DTREN_W<'a> {
w: &'a mut W,
}
impl<'a> DTREN_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 16)) | ((value as u32 & 0x01) << 16);
self.w
}
}
#[doc = "Field `DTRDIS` writer - Data Terminal Ready Disable"]
pub struct DTRDIS_W<'a> {
w: &'a mut W,
}
impl<'a> DTRDIS_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 17)) | ((value as u32 & 0x01) << 17);
self.w
}
}
#[doc = "Field `RTSEN` writer - Request to Send Pin Control"]
pub struct RTSEN_W<'a> {
w: &'a mut W,
}
impl<'a> RTSEN_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 18)) | ((value as u32 & 0x01) << 18);
self.w
}
}
#[doc = "Field `RTSDIS` writer - Request to Send Pin Control"]
pub struct RTSDIS_W<'a> {
w: &'a mut W,
}
impl<'a> RTSDIS_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 19)) | ((value as u32 & 0x01) << 19);
self.w
}
}
#[doc = "Field `LINABT` writer - Abort LIN Transmission"]
pub struct LINABT_W<'a> {
w: &'a mut W,
}
impl<'a> LINABT_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 20)) | ((value as u32 & 0x01) << 20);
self.w
}
}
#[doc = "Field `LINWKUP` writer - Send LIN Wakeup Signal"]
pub struct LINWKUP_W<'a> {
w: &'a mut W,
}
impl<'a> LINWKUP_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 21)) | ((value as u32 & 0x01) << 21);
self.w
}
}
impl W {
#[doc = "Bit 2 - Reset Receiver"]
#[inline(always)]
pub fn rstrx(&mut self) -> RSTRX_W {
RSTRX_W { w: self }
}
#[doc = "Bit 3 - Reset Transmitter"]
#[inline(always)]
pub fn rsttx(&mut self) -> RSTTX_W {
RSTTX_W { w: self }
}
#[doc = "Bit 4 - Receiver Enable"]
#[inline(always)]
pub fn rxen(&mut self) -> RXEN_W {
RXEN_W { w: self }
}
#[doc = "Bit 5 - Receiver Disable"]
#[inline(always)]
pub fn rxdis(&mut self) -> RXDIS_W {
RXDIS_W { w: self }
}
#[doc = "Bit 6 - Transmitter Enable"]
#[inline(always)]
pub fn txen(&mut self) -> TXEN_W {
TXEN_W { w: self }
}
#[doc = "Bit 7 - Transmitter Disable"]
#[inline(always)]
pub fn txdis(&mut self) -> TXDIS_W {
TXDIS_W { w: self }
}
#[doc = "Bit 8 - Reset Status Bits"]
#[inline(always)]
pub fn rststa(&mut self) -> RSTSTA_W {
RSTSTA_W { w: self }
}
#[doc = "Bit 9 - Start Break"]
#[inline(always)]
pub fn sttbrk(&mut self) -> STTBRK_W {
STTBRK_W { w: self }
}
#[doc = "Bit 10 - Stop Break"]
#[inline(always)]
pub fn stpbrk(&mut self) -> STPBRK_W {
STPBRK_W { w: self }
}
#[doc = "Bit 11 - Clear TIMEOUT Flag and Start Time-out After Next Character Received"]
#[inline(always)]
pub fn sttto(&mut self) -> STTTO_W {
STTTO_W { w: self }
}
#[doc = "Bit 12 - Send Address"]
#[inline(always)]
pub fn senda(&mut self) -> SENDA_W {
SENDA_W { w: self }
}
#[doc = "Bit 13 - Reset Iterations"]
#[inline(always)]
pub fn rstit(&mut self) -> RSTIT_W {
RSTIT_W { w: self }
}
#[doc = "Bit 14 - Reset Non Acknowledge"]
#[inline(always)]
pub fn rstnack(&mut self) -> RSTNACK_W {
RSTNACK_W { w: self }
}
#[doc = "Bit 15 - Start Time-out Immediately"]
#[inline(always)]
pub fn retto(&mut self) -> RETTO_W {
RETTO_W { w: self }
}
#[doc = "Bit 16 - Data Terminal Ready Enable"]
#[inline(always)]
pub fn dtren(&mut self) -> DTREN_W {
DTREN_W { w: self }
}
#[doc = "Bit 17 - Data Terminal Ready Disable"]
#[inline(always)]
pub fn dtrdis(&mut self) -> DTRDIS_W {
DTRDIS_W { w: self }
}
#[doc = "Bit 18 - Request to Send Pin Control"]
#[inline(always)]
pub fn rtsen(&mut self) -> RTSEN_W {
RTSEN_W { w: self }
}
#[doc = "Bit 19 - Request to Send Pin Control"]
#[inline(always)]
pub fn rtsdis(&mut self) -> RTSDIS_W {
RTSDIS_W { w: self }
}
#[doc = "Bit 20 - Abort LIN Transmission"]
#[inline(always)]
pub fn linabt(&mut self) -> LINABT_W {
LINABT_W { w: self }
}
#[doc = "Bit 21 - Send LIN Wakeup Signal"]
#[inline(always)]
pub fn linwkup(&mut self) -> LINWKUP_W {
LINWKUP_W { w: self }
}
#[doc = "Writes raw bits to the register."]
#[inline(always)]
pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
self.0.bits(bits);
self
}
}
#[doc = "Control Register\n\nThis register you can [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [us_cr](index.html) module"]
pub struct US_CR_SPEC;
impl crate::RegisterSpec for US_CR_SPEC {
type Ux = u32;
}
#[doc = "`write(|w| ..)` method takes [us_cr::W](W) writer structure"]
impl crate::Writable for US_CR_SPEC {
type Writer = W;
}
#[doc = "`reset()` method sets US_CR to value 0"]
impl crate::Resettable for US_CR_SPEC {
#[inline(always)]
fn reset_value() -> Self::Ux {
0
}
}