# CHANNEL in k210_pac::dmac - Rust
Register block
Keywords: rust, rustlang, rust-lang, CHANNEL

# Struct k210_pac::dmac::CHANNEL

source · [−]

    #[repr(C)]pub struct CHANNEL {Show 17 fields
        pub sar: SAR,
        pub dar: DAR,
        pub block_ts: BLOCK_TS,
        pub ctl: CTL,
        pub cfg: CFG,
        pub llp: LLP,
        pub status: STATUS,
        pub swhssrc: SWHSSRC,
        pub swhsdst: SWHSDST,
        pub blk_tfr: BLK_TFR,
        pub axi_id: AXI_ID,
        pub axi_qos: AXI_QOS,
        pub intstatus_en: INTSTATUS_EN,
        pub intstatus: INTSTATUS,
        pub intsignal_en: INTSIGNAL_EN,
        pub intclear: INTCLEAR,
        pub _reserved: _RESERVED,
        /* private fields */
    }

Expand description

Register block

## Fields

`sar: SAR`

0x00 - SAR Address Register

`dar: DAR`

0x08 - DAR Address Register

`block_ts: BLOCK_TS`

0x10 - Block Transfer Size Register

`ctl: CTL`

0x18 - Control Register

`cfg: CFG`

0x20 - Configure Register

`llp: LLP`

0x28 - Linked List Pointer register

`status: STATUS`

0x30 - Channel Status Register

`swhssrc: SWHSSRC`

0x38 - Channel Software handshake Source Register

`swhsdst: SWHSDST`

0x40 - Channel Software handshake Destination Register

`blk_tfr: BLK_TFR`

0x48 - Channel Block Transfer Resume Request Register

`axi_id: AXI_ID`

0x50 - Channel AXI ID Register

`axi_qos: AXI_QOS`

0x58 - AXI QOS Register

`intstatus_en: INTSTATUS_EN`

0x80 - Interrupt Status Enable Register

`intstatus: INTSTATUS`

0x88 - Channel Interrupt Status Register

`intsignal_en: INTSIGNAL_EN`

0x90 - Interrupt Signal Enable Register

`intclear: INTCLEAR`

0x98 - Interrupt Clear Register

`_reserved: _RESERVED`

0xf8 - Padding to make structure size 256 bytes so that channels[] is an array

## Auto Trait Implementations

### impl !RefUnwindSafe for CHANNEL

### impl Send for CHANNEL

### impl !Sync for CHANNEL

### impl Unpin for CHANNEL

### impl UnwindSafe for CHANNEL

## 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.