#[doc = "Register `PC` reader"]
pub struct R(crate::R<PC_SPEC>);
impl core::ops::Deref for R {
type Target = crate::R<PC_SPEC>;
#[inline(always)]
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl From<crate::R<PC_SPEC>> for R {
#[inline(always)]
fn from(reader: crate::R<PC_SPEC>) -> Self {
R(reader)
}
}
#[doc = "Register `PC` writer"]
pub struct W(crate::W<PC_SPEC>);
impl core::ops::Deref for W {
type Target = crate::W<PC_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<PC_SPEC>> for W {
#[inline(always)]
fn from(writer: crate::W<PC_SPEC>) -> Self {
W(writer)
}
}
#[doc = "Field `PCVAL` reader - Prescale counter value."]
pub type PCVAL_R = crate::FieldReader<u16, u16>;
#[doc = "Field `PCVAL` writer - Prescale counter value."]
pub type PCVAL_W<'a, const O: u8> = crate::FieldWriter<'a, u32, PC_SPEC, u16, u16, 16, O>;
impl R {
#[doc = "Bits 0:15 - Prescale counter value."]
#[inline(always)]
pub fn pcval(&self) -> PCVAL_R {
PCVAL_R::new((self.bits & 0xffff) as u16)
}
}
impl W {
#[doc = "Bits 0:15 - Prescale counter value."]
#[inline(always)]
pub fn pcval(&mut self) -> PCVAL_W<0> {
PCVAL_W::new(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 = "Prescale Counter (PC). The 16-bit PC is a counter which is incremented to the value stored in PR. When the value in PR is reached, the TC is incremented and the PC is cleared. The PC is observable and controllable through the bus interface.\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [pc](index.html) module"]
pub struct PC_SPEC;
impl crate::RegisterSpec for PC_SPEC {
type Ux = u32;
}
#[doc = "`read()` method returns [pc::R](R) reader structure"]
impl crate::Readable for PC_SPEC {
type Reader = R;
}
#[doc = "`write(|w| ..)` method takes [pc::W](W) writer structure"]
impl crate::Writable for PC_SPEC {
type Writer = W;
}
#[doc = "`reset()` method sets PC to value 0"]
impl crate::Resettable for PC_SPEC {
#[inline(always)]
fn reset_value() -> Self::Ux {
0
}
}