DMA驱动的结构体
dma_init_t
DMA驱动的初始化结构体dma_init_t的定义如下:
| 数据域 | 域段描述 | 取值 |
|---|---|---|
uint32_t src_request |
源外设类型。 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t dst_request |
目的外设类型。 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t direction |
数据传输方式。 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t src_increment |
源地址增量模式。 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t dst_increment |
目的地址增量模式。 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t src_data_alignment |
源地址数据位宽/对齐方式。 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t dst_data_alignment |
目的地址数据位宽/对齐方式。 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t mode |
操作模式。 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t priority |
通道优先级。 |
该参数的取值可以是下列值中的任意一个:
|
dma_handle_t
DMA驱动的句柄结构体dma_handle_t的定义如下:
| 数据域 | 域段描述 | 取值 |
|---|---|---|
|
dma_channel_t channel |
DMA通道实例。 |
该参数的取值可以是下列值中的任意一个:
|
|
dma_init_t init |
初始化结构体。 |
参考dma_init_t结构体。 |
|
__IO hal_lock_t lock |
DMA锁(无需开发者初始化)。 |
N/A |
|
__IO hal_dma_state_t state |
DMA运行状态(无需开发者初始化)。 |
该参数的取值可以是下列值中的任意一个:
|
|
void *p_parent |
使用当前通道实例的外设句柄指针,可以是其它外设的句柄指针。 |
N/A |
|
void (*xfer_tfr_callback)(struct __dma_handle_t *p_dma) |
传输完成回调函数。 可通过hal_dma_register_callback()及 hal_dma_unregister_callback()进行回调函数的注册及注销。 |
N/A |
|
void (*xfer_blk_callback)(struct __dma_handle_t *p_dma) |
块传输完成回调函数。 可通过hal_dma_register_callback()及 hal_dma_unregister_callback()进行回调函数的注册及注销。 |
N/A |
|
void (*xfer_error_callback)(struct __dma_handle_t *p_dma) |
错误回调函数。可通过hal_dma_register_callback()及 hal_dma_unregister_callback()进行回调函数的注册及注销。 |
N/A |
|
void (*xfer_abort_callback)(struct __dma_handle_t *p_dma) |
中止完成回调函数。可通过hal_dma_register_callback()及 hal_dma_unregister_callback()进行回调函数的注册及注销。 |
N/A |
|
__IO uint32_t error_code |
DMA错误码(无需开发者初始化)。 |
该参数的取值可以是下列值中的任意一个:
|
|
uint32_t retention[5]; |
保存DMA寄存器信息(驱动负责管理,无需开发者初始化)。 |
N/A |