rust-embedded-talk/example-source/msp432p401r/src/dio.rs

596 lines
15 KiB
Rust

#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - Port A Input"]
pub pain: PAIN,
#[doc = "0x02 - Port A Output"]
pub paout: PAOUT,
#[doc = "0x04 - Port A Direction"]
pub padir: PADIR,
#[doc = "0x06 - Port A Resistor Enable"]
pub paren: PAREN,
#[doc = "0x08 - Port A Drive Strength"]
pub pads: PADS,
#[doc = "0x0a - Port A Select 0"]
pub pasel0: PASEL0,
#[doc = "0x0c - Port A Select 1"]
pub pasel1: PASEL1,
#[doc = "0x0e - Port 1 Interrupt Vector Register"]
pub p1iv: P1IV,
_reserved0: [u8; 6usize],
#[doc = "0x16 - Port A Complement Select"]
pub paselc: PASELC,
#[doc = "0x18 - Port A Interrupt Edge Select"]
pub paies: PAIES,
#[doc = "0x1a - Port A Interrupt Enable"]
pub paie: PAIE,
#[doc = "0x1c - Port A Interrupt Flag"]
pub paifg: PAIFG,
#[doc = "0x1e - Port 2 Interrupt Vector Register"]
pub p2iv: P2IV,
#[doc = "0x20 - Port B Input"]
pub pbin: PBIN,
#[doc = "0x22 - Port B Output"]
pub pbout: PBOUT,
#[doc = "0x24 - Port B Direction"]
pub pbdir: PBDIR,
#[doc = "0x26 - Port B Resistor Enable"]
pub pbren: PBREN,
#[doc = "0x28 - Port B Drive Strength"]
pub pbds: PBDS,
#[doc = "0x2a - Port B Select 0"]
pub pbsel0: PBSEL0,
#[doc = "0x2c - Port B Select 1"]
pub pbsel1: PBSEL1,
#[doc = "0x2e - Port 3 Interrupt Vector Register"]
pub p3iv: P3IV,
_reserved1: [u8; 6usize],
#[doc = "0x36 - Port B Complement Select"]
pub pbselc: PBSELC,
#[doc = "0x38 - Port B Interrupt Edge Select"]
pub pbies: PBIES,
#[doc = "0x3a - Port B Interrupt Enable"]
pub pbie: PBIE,
#[doc = "0x3c - Port B Interrupt Flag"]
pub pbifg: PBIFG,
#[doc = "0x3e - Port 4 Interrupt Vector Register"]
pub p4iv: P4IV,
#[doc = "0x40 - Port C Input"]
pub pcin: PCIN,
#[doc = "0x42 - Port C Output"]
pub pcout: PCOUT,
#[doc = "0x44 - Port C Direction"]
pub pcdir: PCDIR,
#[doc = "0x46 - Port C Resistor Enable"]
pub pcren: PCREN,
#[doc = "0x48 - Port C Drive Strength"]
pub pcds: PCDS,
#[doc = "0x4a - Port C Select 0"]
pub pcsel0: PCSEL0,
#[doc = "0x4c - Port C Select 1"]
pub pcsel1: PCSEL1,
#[doc = "0x4e - Port 5 Interrupt Vector Register"]
pub p5iv: P5IV,
_reserved2: [u8; 6usize],
#[doc = "0x56 - Port C Complement Select"]
pub pcselc: PCSELC,
#[doc = "0x58 - Port C Interrupt Edge Select"]
pub pcies: PCIES,
#[doc = "0x5a - Port C Interrupt Enable"]
pub pcie: PCIE,
#[doc = "0x5c - Port C Interrupt Flag"]
pub pcifg: PCIFG,
#[doc = "0x5e - Port 6 Interrupt Vector Register"]
pub p6iv: P6IV,
#[doc = "0x60 - Port D Input"]
pub pdin: PDIN,
#[doc = "0x62 - Port D Output"]
pub pdout: PDOUT,
#[doc = "0x64 - Port D Direction"]
pub pddir: PDDIR,
#[doc = "0x66 - Port D Resistor Enable"]
pub pdren: PDREN,
#[doc = "0x68 - Port D Drive Strength"]
pub pdds: PDDS,
#[doc = "0x6a - Port D Select 0"]
pub pdsel0: PDSEL0,
#[doc = "0x6c - Port D Select 1"]
pub pdsel1: PDSEL1,
#[doc = "0x6e - Port 7 Interrupt Vector Register"]
pub p7iv: P7IV,
_reserved3: [u8; 6usize],
#[doc = "0x76 - Port D Complement Select"]
pub pdselc: PDSELC,
#[doc = "0x78 - Port D Interrupt Edge Select"]
pub pdies: PDIES,
#[doc = "0x7a - Port D Interrupt Enable"]
pub pdie: PDIE,
#[doc = "0x7c - Port D Interrupt Flag"]
pub pdifg: PDIFG,
#[doc = "0x7e - Port 8 Interrupt Vector Register"]
pub p8iv: P8IV,
#[doc = "0x80 - Port E Input"]
pub pein: PEIN,
#[doc = "0x82 - Port E Output"]
pub peout: PEOUT,
#[doc = "0x84 - Port E Direction"]
pub pedir: PEDIR,
#[doc = "0x86 - Port E Resistor Enable"]
pub peren: PEREN,
#[doc = "0x88 - Port E Drive Strength"]
pub peds: PEDS,
#[doc = "0x8a - Port E Select 0"]
pub pesel0: PESEL0,
#[doc = "0x8c - Port E Select 1"]
pub pesel1: PESEL1,
#[doc = "0x8e - Port 9 Interrupt Vector Register"]
pub p9iv: P9IV,
_reserved4: [u8; 6usize],
#[doc = "0x96 - Port E Complement Select"]
pub peselc: PESELC,
#[doc = "0x98 - Port E Interrupt Edge Select"]
pub peies: PEIES,
#[doc = "0x9a - Port E Interrupt Enable"]
pub peie: PEIE,
#[doc = "0x9c - Port E Interrupt Flag"]
pub peifg: PEIFG,
#[doc = "0x9e - Port 10 Interrupt Vector Register"]
pub p10iv: P10IV,
_reserved5: [u8; 128usize],
#[doc = "0x120 - Port J Input"]
pub pjin: PJIN,
#[doc = "0x122 - Port J Output"]
pub pjout: PJOUT,
#[doc = "0x124 - Port J Direction"]
pub pjdir: PJDIR,
#[doc = "0x126 - Port J Resistor Enable"]
pub pjren: PJREN,
#[doc = "0x128 - Port J Drive Strength"]
pub pjds: PJDS,
#[doc = "0x12a - Port J Select 0"]
pub pjsel0: PJSEL0,
#[doc = "0x12c - Port J Select 1"]
pub pjsel1: PJSEL1,
_reserved6: [u8; 8usize],
#[doc = "0x136 - Port J Complement Select"]
pub pjselc: PJSELC,
}
#[doc = "Port A Input"]
pub struct PAIN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Input"]
pub mod pain;
#[doc = "Port A Output"]
pub struct PAOUT {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Output"]
pub mod paout;
#[doc = "Port A Direction"]
pub struct PADIR {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Direction"]
pub mod padir;
#[doc = "Port A Resistor Enable"]
pub struct PAREN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Resistor Enable"]
pub mod paren;
#[doc = "Port A Drive Strength"]
pub struct PADS {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Drive Strength"]
pub mod pads;
#[doc = "Port A Select 0"]
pub struct PASEL0 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Select 0"]
pub mod pasel0;
#[doc = "Port A Select 1"]
pub struct PASEL1 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Select 1"]
pub mod pasel1;
#[doc = "Port 1 Interrupt Vector Register"]
pub struct P1IV {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port 1 Interrupt Vector Register"]
pub mod p1iv;
#[doc = "Port A Complement Select"]
pub struct PASELC {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Complement Select"]
pub mod paselc;
#[doc = "Port A Interrupt Edge Select"]
pub struct PAIES {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Interrupt Edge Select"]
pub mod paies;
#[doc = "Port A Interrupt Enable"]
pub struct PAIE {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Interrupt Enable"]
pub mod paie;
#[doc = "Port A Interrupt Flag"]
pub struct PAIFG {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port A Interrupt Flag"]
pub mod paifg;
#[doc = "Port 2 Interrupt Vector Register"]
pub struct P2IV {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port 2 Interrupt Vector Register"]
pub mod p2iv;
#[doc = "Port B Input"]
pub struct PBIN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Input"]
pub mod pbin;
#[doc = "Port B Output"]
pub struct PBOUT {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Output"]
pub mod pbout;
#[doc = "Port B Direction"]
pub struct PBDIR {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Direction"]
pub mod pbdir;
#[doc = "Port B Resistor Enable"]
pub struct PBREN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Resistor Enable"]
pub mod pbren;
#[doc = "Port B Drive Strength"]
pub struct PBDS {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Drive Strength"]
pub mod pbds;
#[doc = "Port B Select 0"]
pub struct PBSEL0 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Select 0"]
pub mod pbsel0;
#[doc = "Port B Select 1"]
pub struct PBSEL1 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Select 1"]
pub mod pbsel1;
#[doc = "Port 3 Interrupt Vector Register"]
pub struct P3IV {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port 3 Interrupt Vector Register"]
pub mod p3iv;
#[doc = "Port B Complement Select"]
pub struct PBSELC {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Complement Select"]
pub mod pbselc;
#[doc = "Port B Interrupt Edge Select"]
pub struct PBIES {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Interrupt Edge Select"]
pub mod pbies;
#[doc = "Port B Interrupt Enable"]
pub struct PBIE {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Interrupt Enable"]
pub mod pbie;
#[doc = "Port B Interrupt Flag"]
pub struct PBIFG {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port B Interrupt Flag"]
pub mod pbifg;
#[doc = "Port 4 Interrupt Vector Register"]
pub struct P4IV {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port 4 Interrupt Vector Register"]
pub mod p4iv;
#[doc = "Port C Input"]
pub struct PCIN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Input"]
pub mod pcin;
#[doc = "Port C Output"]
pub struct PCOUT {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Output"]
pub mod pcout;
#[doc = "Port C Direction"]
pub struct PCDIR {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Direction"]
pub mod pcdir;
#[doc = "Port C Resistor Enable"]
pub struct PCREN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Resistor Enable"]
pub mod pcren;
#[doc = "Port C Drive Strength"]
pub struct PCDS {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Drive Strength"]
pub mod pcds;
#[doc = "Port C Select 0"]
pub struct PCSEL0 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Select 0"]
pub mod pcsel0;
#[doc = "Port C Select 1"]
pub struct PCSEL1 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Select 1"]
pub mod pcsel1;
#[doc = "Port 5 Interrupt Vector Register"]
pub struct P5IV {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port 5 Interrupt Vector Register"]
pub mod p5iv;
#[doc = "Port C Complement Select"]
pub struct PCSELC {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Complement Select"]
pub mod pcselc;
#[doc = "Port C Interrupt Edge Select"]
pub struct PCIES {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Interrupt Edge Select"]
pub mod pcies;
#[doc = "Port C Interrupt Enable"]
pub struct PCIE {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Interrupt Enable"]
pub mod pcie;
#[doc = "Port C Interrupt Flag"]
pub struct PCIFG {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port C Interrupt Flag"]
pub mod pcifg;
#[doc = "Port 6 Interrupt Vector Register"]
pub struct P6IV {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port 6 Interrupt Vector Register"]
pub mod p6iv;
#[doc = "Port D Input"]
pub struct PDIN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Input"]
pub mod pdin;
#[doc = "Port D Output"]
pub struct PDOUT {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Output"]
pub mod pdout;
#[doc = "Port D Direction"]
pub struct PDDIR {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Direction"]
pub mod pddir;
#[doc = "Port D Resistor Enable"]
pub struct PDREN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Resistor Enable"]
pub mod pdren;
#[doc = "Port D Drive Strength"]
pub struct PDDS {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Drive Strength"]
pub mod pdds;
#[doc = "Port D Select 0"]
pub struct PDSEL0 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Select 0"]
pub mod pdsel0;
#[doc = "Port D Select 1"]
pub struct PDSEL1 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Select 1"]
pub mod pdsel1;
#[doc = "Port 7 Interrupt Vector Register"]
pub struct P7IV {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port 7 Interrupt Vector Register"]
pub mod p7iv;
#[doc = "Port D Complement Select"]
pub struct PDSELC {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Complement Select"]
pub mod pdselc;
#[doc = "Port D Interrupt Edge Select"]
pub struct PDIES {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Interrupt Edge Select"]
pub mod pdies;
#[doc = "Port D Interrupt Enable"]
pub struct PDIE {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Interrupt Enable"]
pub mod pdie;
#[doc = "Port D Interrupt Flag"]
pub struct PDIFG {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port D Interrupt Flag"]
pub mod pdifg;
#[doc = "Port 8 Interrupt Vector Register"]
pub struct P8IV {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port 8 Interrupt Vector Register"]
pub mod p8iv;
#[doc = "Port E Input"]
pub struct PEIN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Input"]
pub mod pein;
#[doc = "Port E Output"]
pub struct PEOUT {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Output"]
pub mod peout;
#[doc = "Port E Direction"]
pub struct PEDIR {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Direction"]
pub mod pedir;
#[doc = "Port E Resistor Enable"]
pub struct PEREN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Resistor Enable"]
pub mod peren;
#[doc = "Port E Drive Strength"]
pub struct PEDS {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Drive Strength"]
pub mod peds;
#[doc = "Port E Select 0"]
pub struct PESEL0 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Select 0"]
pub mod pesel0;
#[doc = "Port E Select 1"]
pub struct PESEL1 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Select 1"]
pub mod pesel1;
#[doc = "Port 9 Interrupt Vector Register"]
pub struct P9IV {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port 9 Interrupt Vector Register"]
pub mod p9iv;
#[doc = "Port E Complement Select"]
pub struct PESELC {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Complement Select"]
pub mod peselc;
#[doc = "Port E Interrupt Edge Select"]
pub struct PEIES {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Interrupt Edge Select"]
pub mod peies;
#[doc = "Port E Interrupt Enable"]
pub struct PEIE {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Interrupt Enable"]
pub mod peie;
#[doc = "Port E Interrupt Flag"]
pub struct PEIFG {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port E Interrupt Flag"]
pub mod peifg;
#[doc = "Port 10 Interrupt Vector Register"]
pub struct P10IV {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port 10 Interrupt Vector Register"]
pub mod p10iv;
#[doc = "Port J Input"]
pub struct PJIN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port J Input"]
pub mod pjin;
#[doc = "Port J Output"]
pub struct PJOUT {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port J Output"]
pub mod pjout;
#[doc = "Port J Direction"]
pub struct PJDIR {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port J Direction"]
pub mod pjdir;
#[doc = "Port J Resistor Enable"]
pub struct PJREN {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port J Resistor Enable"]
pub mod pjren;
#[doc = "Port J Drive Strength"]
pub struct PJDS {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port J Drive Strength"]
pub mod pjds;
#[doc = "Port J Select 0"]
pub struct PJSEL0 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port J Select 0"]
pub mod pjsel0;
#[doc = "Port J Select 1"]
pub struct PJSEL1 {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port J Select 1"]
pub mod pjsel1;
#[doc = "Port J Complement Select"]
pub struct PJSELC {
register: ::vcell::VolatileCell<u16>,
}
#[doc = "Port J Complement Select"]
pub mod pjselc;