# RegisterBlock in k210_pac::gpio - Rust
Register block
Keywords: rust, rustlang, rust-lang, RegisterBlock

# Struct k210_pac::gpio::RegisterBlock

source · [−]

    #[repr(C)]pub struct RegisterBlock {Show 15 fields
        pub data_output: DATA_OUTPUT,
        pub direction: DIRECTION,
        pub source: SOURCE,
        pub interrupt_enable: INTERRUPT_ENABLE,
        pub interrupt_mask: INTERRUPT_MASK,
        pub interrupt_level: INTERRUPT_LEVEL,
        pub interrupt_polarity: INTERRUPT_POLARITY,
        pub interrupt_status: INTERRUPT_STATUS,
        pub interrupt_status_raw: INTERRUPT_STATUS_RAW,
        pub interrupt_debounce: INTERRUPT_DEBOUNCE,
        pub interrupt_clear: INTERRUPT_CLEAR,
        pub data_input: DATA_INPUT,
        pub sync_level: SYNC_LEVEL,
        pub id_code: ID_CODE,
        pub interrupt_bothedge: INTERRUPT_BOTHEDGE,
        /* private fields */
    }

Expand description

Register block

## Fields

`data_output: DATA_OUTPUT`

0x00 - Data (output) registers

`direction: DIRECTION`

0x04 - Data direction registers

`source: SOURCE`

0x08 - Data source registers

`interrupt_enable: INTERRUPT_ENABLE`

0x30 - Interrupt enable/disable registers

`interrupt_mask: INTERRUPT_MASK`

0x34 - Interrupt mask registers

`interrupt_level: INTERRUPT_LEVEL`

0x38 - Interrupt level registers

`interrupt_polarity: INTERRUPT_POLARITY`

0x3c - Interrupt polarity registers

`interrupt_status: INTERRUPT_STATUS`

0x40 - Interrupt status registers

`interrupt_status_raw: INTERRUPT_STATUS_RAW`

0x44 - Raw interrupt status registers

`interrupt_debounce: INTERRUPT_DEBOUNCE`

0x48 - Interrupt debounce registers

`interrupt_clear: INTERRUPT_CLEAR`

0x4c - Registers for clearing interrupts

`data_input: DATA_INPUT`

0x50 - External port (data input) registers

`sync_level: SYNC_LEVEL`

0x60 - Sync level registers

`id_code: ID_CODE`

0x64 - ID code

`interrupt_bothedge: INTERRUPT_BOTHEDGE`

0x68 - Interrupt both edge type

## Auto Trait Implementations

### impl !RefUnwindSafe for RegisterBlock

### impl Send for RegisterBlock

### impl !Sync for RegisterBlock

### impl Unpin for RegisterBlock

### impl UnwindSafe for RegisterBlock

## Blanket Implementations

source

### impl<T> Any for T where
T: 'static + ?Sized,

source

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more

source

### impl<T> Borrow<T> for T where
T: ?Sized,

const: unstable · source

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

### impl<T> BorrowMut<T> for T where
T: ?Sized,

const: unstable · source

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more

source

### impl<T> From<T> for T

const: unstable · source

#### fn from(t: T) -> T

Returns the argument unchanged.

source

### impl<T, U> Into<U> for T where
U: From<T>,

const: unstable · source

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

source

### impl<T, U> TryFrom<U> for T where
U: Into<T>,

#### type Error = Infallible

The type returned in the event of a conversion error.

const: unstable · source

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.

source

### impl<T, U> TryInto<U> for T where
U: TryFrom<T>,

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

const: unstable · source

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.