日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【STM32】DMA相关函数和类型

發(fā)布時間:2024/4/24 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【STM32】DMA相关函数和类型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. DMA簡介
    • 02. 相關(guān)類型
    • 03. 相關(guān)函數(shù)
    • 04. 結(jié)構(gòu)體封裝
    • 05. 預(yù)留
    • 06. 附錄
    • 07. 聲明

01. DMA簡介

DMA,全稱為:Direct Memory Access,即直接存儲器訪問。DMA 傳輸方式無需 CPU 直接控制傳輸,也沒有中斷處理方式那樣保留現(xiàn)場和恢復(fù)現(xiàn)場的過程,通過硬件為 RAM 與 I/O 設(shè)備開辟一條直接傳送數(shù)據(jù)的通路,能使 CPU 的效率大為提高。

STM32F4 最多有 2 個 DMA 控制器(DMA1 和 DMA2),共 16 個數(shù)據(jù)流(每個控制器 8 個),每一個 DMA 控制器都用于管理一個或多個外設(shè)的存儲器訪問請求。每個數(shù)據(jù)流總共可以有多達(dá) 8個通道(或稱請求)。每個數(shù)據(jù)流通道都有一個仲裁器,用于處理 DMA 請求間的優(yōu)先級。

02. 相關(guān)類型

DMA Init structure definition

/** * @brief DMA Init structure definition*/typedef struct {uint32_t DMA_Channel; /*!< Specifies the channel used for the specified stream. This parameter can be a value of @ref DMA_channel */uint32_t DMA_PeripheralBaseAddr; /*!< Specifies the peripheral base address for DMAy Streamx. */uint32_t DMA_Memory0BaseAddr; /*!< Specifies the memory 0 base address for DMAy Streamx. This memory is the default memory used when double buffer mode isnot enabled. */uint32_t DMA_DIR; /*!< Specifies if the data will be transferred from memory to peripheral, from memory to memory or from peripheral to memory.This parameter can be a value of @ref DMA_data_transfer_direction */uint32_t DMA_BufferSize; /*!< Specifies the buffer size, in data unit, of the specified Stream. The data unit is equal to the configuration set in DMA_PeripheralDataSizeor DMA_MemoryDataSize members depending in the transfer direction. */uint32_t DMA_PeripheralInc; /*!< Specifies whether the Peripheral address register should be incremented or not.This parameter can be a value of @ref DMA_peripheral_incremented_mode */uint32_t DMA_MemoryInc; /*!< Specifies whether the memory address register should be incremented or not.This parameter can be a value of @ref DMA_memory_incremented_mode */uint32_t DMA_PeripheralDataSize; /*!< Specifies the Peripheral data width.This parameter can be a value of @ref DMA_peripheral_data_size */uint32_t DMA_MemoryDataSize; /*!< Specifies the Memory data width.This parameter can be a value of @ref DMA_memory_data_size */uint32_t DMA_Mode; /*!< Specifies the operation mode of the DMAy Streamx.This parameter can be a value of @ref DMA_circular_normal_mode@note The circular buffer mode cannot be used if the memory-to-memorydata transfer is configured on the selected Stream */uint32_t DMA_Priority; /*!< Specifies the software priority for the DMAy Streamx.This parameter can be a value of @ref DMA_priority_level */uint32_t DMA_FIFOMode; /*!< Specifies if the FIFO mode or Direct mode will be used for the specified Stream.This parameter can be a value of @ref DMA_fifo_direct_mode@note The Direct mode (FIFO mode disabled) cannot be used if the memory-to-memory data transfer is configured on the selected Stream */uint32_t DMA_FIFOThreshold; /*!< Specifies the FIFO threshold level.This parameter can be a value of @ref DMA_fifo_threshold_level */uint32_t DMA_MemoryBurst; /*!< Specifies the Burst transfer configuration for the memory transfers. It specifies the amount of data to be transferred in a single non interruptable transaction. This parameter can be a value of @ref DMA_memory_burst @note The burst mode is possible only if the address Increment mode is enabled. */uint32_t DMA_PeripheralBurst; /*!< Specifies the Burst transfer configuration for the peripheral transfers. It specifies the amount of data to be transferred in a single non interruptable transaction. This parameter can be a value of @ref DMA_peripheral_burst@note The burst mode is possible only if the address Increment mode is enabled. */ }DMA_InitTypeDef;

DMA_Exported_Constants

** @defgroup DMA_Exported_Constants* @{*/#define IS_DMA_ALL_PERIPH(PERIPH) (((PERIPH) == DMA1_Stream0) || \((PERIPH) == DMA1_Stream1) || \((PERIPH) == DMA1_Stream2) || \((PERIPH) == DMA1_Stream3) || \((PERIPH) == DMA1_Stream4) || \((PERIPH) == DMA1_Stream5) || \((PERIPH) == DMA1_Stream6) || \((PERIPH) == DMA1_Stream7) || \((PERIPH) == DMA2_Stream0) || \((PERIPH) == DMA2_Stream1) || \((PERIPH) == DMA2_Stream2) || \((PERIPH) == DMA2_Stream3) || \((PERIPH) == DMA2_Stream4) || \((PERIPH) == DMA2_Stream5) || \((PERIPH) == DMA2_Stream6) || \((PERIPH) == DMA2_Stream7))#define IS_DMA_ALL_CONTROLLER(CONTROLLER) (((CONTROLLER) == DMA1) || \((CONTROLLER) == DMA2))

DMA_channel

/** @defgroup DMA_channel * @{*/ #define DMA_Channel_0 ((uint32_t)0x00000000) #define DMA_Channel_1 ((uint32_t)0x02000000) #define DMA_Channel_2 ((uint32_t)0x04000000) #define DMA_Channel_3 ((uint32_t)0x06000000) #define DMA_Channel_4 ((uint32_t)0x08000000) #define DMA_Channel_5 ((uint32_t)0x0A000000) #define DMA_Channel_6 ((uint32_t)0x0C000000) #define DMA_Channel_7 ((uint32_t)0x0E000000)#define IS_DMA_CHANNEL(CHANNEL) (((CHANNEL) == DMA_Channel_0) || \((CHANNEL) == DMA_Channel_1) || \((CHANNEL) == DMA_Channel_2) || \((CHANNEL) == DMA_Channel_3) || \((CHANNEL) == DMA_Channel_4) || \((CHANNEL) == DMA_Channel_5) || \((CHANNEL) == DMA_Channel_6) || \((CHANNEL) == DMA_Channel_7))

DMA_data_transfer_direction

/** @defgroup DMA_data_transfer_direction * @{*/ #define DMA_DIR_PeripheralToMemory ((uint32_t)0x00000000) #define DMA_DIR_MemoryToPeripheral ((uint32_t)0x00000040) #define DMA_DIR_MemoryToMemory ((uint32_t)0x00000080)#define IS_DMA_DIRECTION(DIRECTION) (((DIRECTION) == DMA_DIR_PeripheralToMemory ) || \((DIRECTION) == DMA_DIR_MemoryToPeripheral) || \((DIRECTION) == DMA_DIR_MemoryToMemory))

DMA_data_buffer_size

/** @defgroup DMA_data_buffer_size * @{*/ #define IS_DMA_BUFFER_SIZE(SIZE) (((SIZE) >= 0x1) && ((SIZE) < 0x10000))

DMA_peripheral_incremented_mode

/** @defgroup DMA_peripheral_incremented_mode * @{*/ #define DMA_PeripheralInc_Enable ((uint32_t)0x00000200) #define DMA_PeripheralInc_Disable ((uint32_t)0x00000000)#define IS_DMA_PERIPHERAL_INC_STATE(STATE) (((STATE) == DMA_PeripheralInc_Enable) || \((STATE) == DMA_PeripheralInc_Disable))

DMA_memory_incremented_mode

/** @defgroup DMA_memory_incremented_mode * @{*/ #define DMA_MemoryInc_Enable ((uint32_t)0x00000400) #define DMA_MemoryInc_Disable ((uint32_t)0x00000000)#define IS_DMA_MEMORY_INC_STATE(STATE) (((STATE) == DMA_MemoryInc_Enable) || \((STATE) == DMA_MemoryInc_Disable))

DMA_peripheral_data_size

/** @defgroup DMA_peripheral_data_size * @{*/ #define DMA_PeripheralDataSize_Byte ((uint32_t)0x00000000) #define DMA_PeripheralDataSize_HalfWord ((uint32_t)0x00000800) #define DMA_PeripheralDataSize_Word ((uint32_t)0x00001000)#define IS_DMA_PERIPHERAL_DATA_SIZE(SIZE) (((SIZE) == DMA_PeripheralDataSize_Byte) || \((SIZE) == DMA_PeripheralDataSize_HalfWord) || \((SIZE) == DMA_PeripheralDataSize_Word))

DMA_memory_data_size

/** @defgroup DMA_memory_data_size * @{*/ #define DMA_MemoryDataSize_Byte ((uint32_t)0x00000000) #define DMA_MemoryDataSize_HalfWord ((uint32_t)0x00002000) #define DMA_MemoryDataSize_Word ((uint32_t)0x00004000)#define IS_DMA_MEMORY_DATA_SIZE(SIZE) (((SIZE) == DMA_MemoryDataSize_Byte) || \((SIZE) == DMA_MemoryDataSize_HalfWord) || \((SIZE) == DMA_MemoryDataSize_Word ))

DMA_circular_normal_mode

/** @defgroup DMA_circular_normal_mode * @{*/ #define DMA_Mode_Normal ((uint32_t)0x00000000) #define DMA_Mode_Circular ((uint32_t)0x00000100)#define IS_DMA_MODE(MODE) (((MODE) == DMA_Mode_Normal ) || \((MODE) == DMA_Mode_Circular))

DMA_priority_level

/** @defgroup DMA_priority_level * @{*/ #define DMA_Priority_Low ((uint32_t)0x00000000) #define DMA_Priority_Medium ((uint32_t)0x00010000) #define DMA_Priority_High ((uint32_t)0x00020000) #define DMA_Priority_VeryHigh ((uint32_t)0x00030000)#define IS_DMA_PRIORITY(PRIORITY) (((PRIORITY) == DMA_Priority_Low ) || \((PRIORITY) == DMA_Priority_Medium) || \((PRIORITY) == DMA_Priority_High) || \((PRIORITY) == DMA_Priority_VeryHigh))

DMA_fifo_direct_mode

/** @defgroup DMA_fifo_direct_mode * @{*/ #define DMA_FIFOMode_Disable ((uint32_t)0x00000000) #define DMA_FIFOMode_Enable ((uint32_t)0x00000004)#define IS_DMA_FIFO_MODE_STATE(STATE) (((STATE) == DMA_FIFOMode_Disable ) || \((STATE) == DMA_FIFOMode_Enable))

DMA_fifo_threshold_level

/** @defgroup DMA_fifo_threshold_level * @{*/ #define DMA_FIFOThreshold_1QuarterFull ((uint32_t)0x00000000) #define DMA_FIFOThreshold_HalfFull ((uint32_t)0x00000001) #define DMA_FIFOThreshold_3QuartersFull ((uint32_t)0x00000002) #define DMA_FIFOThreshold_Full ((uint32_t)0x00000003)#define IS_DMA_FIFO_THRESHOLD(THRESHOLD) (((THRESHOLD) == DMA_FIFOThreshold_1QuarterFull ) || \((THRESHOLD) == DMA_FIFOThreshold_HalfFull) || \((THRESHOLD) == DMA_FIFOThreshold_3QuartersFull) || \((THRESHOLD) == DMA_FIFOThreshold_Full))

DMA_memory_burst

/** @defgroup DMA_memory_burst * @{*/ #define DMA_MemoryBurst_Single ((uint32_t)0x00000000) #define DMA_MemoryBurst_INC4 ((uint32_t)0x00800000) #define DMA_MemoryBurst_INC8 ((uint32_t)0x01000000) #define DMA_MemoryBurst_INC16 ((uint32_t)0x01800000)#define IS_DMA_MEMORY_BURST(BURST) (((BURST) == DMA_MemoryBurst_Single) || \((BURST) == DMA_MemoryBurst_INC4) || \((BURST) == DMA_MemoryBurst_INC8) || \((BURST) == DMA_MemoryBurst_INC16))

DMA_peripheral_burst

/** @defgroup DMA_peripheral_burst * @{*/ #define DMA_PeripheralBurst_Single ((uint32_t)0x00000000) #define DMA_PeripheralBurst_INC4 ((uint32_t)0x00200000) #define DMA_PeripheralBurst_INC8 ((uint32_t)0x00400000) #define DMA_PeripheralBurst_INC16 ((uint32_t)0x00600000)#define IS_DMA_PERIPHERAL_BURST(BURST) (((BURST) == DMA_PeripheralBurst_Single) || \((BURST) == DMA_PeripheralBurst_INC4) || \((BURST) == DMA_PeripheralBurst_INC8) || \((BURST) == DMA_PeripheralBurst_INC16))

DMA_fifo_status_level

/** @defgroup DMA_fifo_status_level * @{*/ #define DMA_FIFOStatus_Less1QuarterFull ((uint32_t)0x00000000 << 3) #define DMA_FIFOStatus_1QuarterFull ((uint32_t)0x00000001 << 3) #define DMA_FIFOStatus_HalfFull ((uint32_t)0x00000002 << 3) #define DMA_FIFOStatus_3QuartersFull ((uint32_t)0x00000003 << 3) #define DMA_FIFOStatus_Empty ((uint32_t)0x00000004 << 3) #define DMA_FIFOStatus_Full ((uint32_t)0x00000005 << 3)#define IS_DMA_FIFO_STATUS(STATUS) (((STATUS) == DMA_FIFOStatus_Less1QuarterFull ) || \((STATUS) == DMA_FIFOStatus_HalfFull) || \((STATUS) == DMA_FIFOStatus_1QuarterFull) || \((STATUS) == DMA_FIFOStatus_3QuartersFull) || \((STATUS) == DMA_FIFOStatus_Full) || \((STATUS) == DMA_FIFOStatus_Empty))

DMA_flags_definition

/** @defgroup DMA_flags_definition * @{*/ #define DMA_FLAG_FEIF0 ((uint32_t)0x10800001) #define DMA_FLAG_DMEIF0 ((uint32_t)0x10800004) #define DMA_FLAG_TEIF0 ((uint32_t)0x10000008) #define DMA_FLAG_HTIF0 ((uint32_t)0x10000010) #define DMA_FLAG_TCIF0 ((uint32_t)0x10000020) #define DMA_FLAG_FEIF1 ((uint32_t)0x10000040) #define DMA_FLAG_DMEIF1 ((uint32_t)0x10000100) #define DMA_FLAG_TEIF1 ((uint32_t)0x10000200) #define DMA_FLAG_HTIF1 ((uint32_t)0x10000400) #define DMA_FLAG_TCIF1 ((uint32_t)0x10000800) #define DMA_FLAG_FEIF2 ((uint32_t)0x10010000) #define DMA_FLAG_DMEIF2 ((uint32_t)0x10040000) #define DMA_FLAG_TEIF2 ((uint32_t)0x10080000) #define DMA_FLAG_HTIF2 ((uint32_t)0x10100000) #define DMA_FLAG_TCIF2 ((uint32_t)0x10200000) #define DMA_FLAG_FEIF3 ((uint32_t)0x10400000) #define DMA_FLAG_DMEIF3 ((uint32_t)0x11000000) #define DMA_FLAG_TEIF3 ((uint32_t)0x12000000) #define DMA_FLAG_HTIF3 ((uint32_t)0x14000000) #define DMA_FLAG_TCIF3 ((uint32_t)0x18000000) #define DMA_FLAG_FEIF4 ((uint32_t)0x20000001) #define DMA_FLAG_DMEIF4 ((uint32_t)0x20000004) #define DMA_FLAG_TEIF4 ((uint32_t)0x20000008) #define DMA_FLAG_HTIF4 ((uint32_t)0x20000010) #define DMA_FLAG_TCIF4 ((uint32_t)0x20000020) #define DMA_FLAG_FEIF5 ((uint32_t)0x20000040) #define DMA_FLAG_DMEIF5 ((uint32_t)0x20000100) #define DMA_FLAG_TEIF5 ((uint32_t)0x20000200) #define DMA_FLAG_HTIF5 ((uint32_t)0x20000400) #define DMA_FLAG_TCIF5 ((uint32_t)0x20000800) #define DMA_FLAG_FEIF6 ((uint32_t)0x20010000) #define DMA_FLAG_DMEIF6 ((uint32_t)0x20040000) #define DMA_FLAG_TEIF6 ((uint32_t)0x20080000) #define DMA_FLAG_HTIF6 ((uint32_t)0x20100000) #define DMA_FLAG_TCIF6 ((uint32_t)0x20200000) #define DMA_FLAG_FEIF7 ((uint32_t)0x20400000) #define DMA_FLAG_DMEIF7 ((uint32_t)0x21000000) #define DMA_FLAG_TEIF7 ((uint32_t)0x22000000) #define DMA_FLAG_HTIF7 ((uint32_t)0x24000000) #define DMA_FLAG_TCIF7 ((uint32_t)0x28000000)#define IS_DMA_CLEAR_FLAG(FLAG) ((((FLAG) & 0x30000000) != 0x30000000) && (((FLAG) & 0x30000000) != 0) && \(((FLAG) & 0xC002F082) == 0x00) && ((FLAG) != 0x00))#define IS_DMA_GET_FLAG(FLAG) (((FLAG) == DMA_FLAG_TCIF0) || ((FLAG) == DMA_FLAG_HTIF0) || \((FLAG) == DMA_FLAG_TEIF0) || ((FLAG) == DMA_FLAG_DMEIF0) || \((FLAG) == DMA_FLAG_FEIF0) || ((FLAG) == DMA_FLAG_TCIF1) || \((FLAG) == DMA_FLAG_HTIF1) || ((FLAG) == DMA_FLAG_TEIF1) || \((FLAG) == DMA_FLAG_DMEIF1) || ((FLAG) == DMA_FLAG_FEIF1) || \((FLAG) == DMA_FLAG_TCIF2) || ((FLAG) == DMA_FLAG_HTIF2) || \((FLAG) == DMA_FLAG_TEIF2) || ((FLAG) == DMA_FLAG_DMEIF2) || \((FLAG) == DMA_FLAG_FEIF2) || ((FLAG) == DMA_FLAG_TCIF3) || \((FLAG) == DMA_FLAG_HTIF3) || ((FLAG) == DMA_FLAG_TEIF3) || \((FLAG) == DMA_FLAG_DMEIF3) || ((FLAG) == DMA_FLAG_FEIF3) || \((FLAG) == DMA_FLAG_TCIF4) || ((FLAG) == DMA_FLAG_HTIF4) || \((FLAG) == DMA_FLAG_TEIF4) || ((FLAG) == DMA_FLAG_DMEIF4) || \((FLAG) == DMA_FLAG_FEIF4) || ((FLAG) == DMA_FLAG_TCIF5) || \((FLAG) == DMA_FLAG_HTIF5) || ((FLAG) == DMA_FLAG_TEIF5) || \((FLAG) == DMA_FLAG_DMEIF5) || ((FLAG) == DMA_FLAG_FEIF5) || \((FLAG) == DMA_FLAG_TCIF6) || ((FLAG) == DMA_FLAG_HTIF6) || \((FLAG) == DMA_FLAG_TEIF6) || ((FLAG) == DMA_FLAG_DMEIF6) || \((FLAG) == DMA_FLAG_FEIF6) || ((FLAG) == DMA_FLAG_TCIF7) || \((FLAG) == DMA_FLAG_HTIF7) || ((FLAG) == DMA_FLAG_TEIF7) || \((FLAG) == DMA_FLAG_DMEIF7) || ((FLAG) == DMA_FLAG_FEIF7))

DMA_interrupt_enable_definitions

/** @defgroup DMA_interrupt_enable_definitions * @{*/ #define DMA_IT_TC ((uint32_t)0x00000010) #define DMA_IT_HT ((uint32_t)0x00000008) #define DMA_IT_TE ((uint32_t)0x00000004) #define DMA_IT_DME ((uint32_t)0x00000002) #define DMA_IT_FE ((uint32_t)0x00000080)#define IS_DMA_CONFIG_IT(IT) ((((IT) & 0xFFFFFF61) == 0x00) && ((IT) != 0x00))

DMA_interrupts_definitions

/** @defgroup DMA_interrupts_definitions * @{*/ #define DMA_IT_FEIF0 ((uint32_t)0x90000001) #define DMA_IT_DMEIF0 ((uint32_t)0x10001004) #define DMA_IT_TEIF0 ((uint32_t)0x10002008) #define DMA_IT_HTIF0 ((uint32_t)0x10004010) #define DMA_IT_TCIF0 ((uint32_t)0x10008020) #define DMA_IT_FEIF1 ((uint32_t)0x90000040) #define DMA_IT_DMEIF1 ((uint32_t)0x10001100) #define DMA_IT_TEIF1 ((uint32_t)0x10002200) #define DMA_IT_HTIF1 ((uint32_t)0x10004400) #define DMA_IT_TCIF1 ((uint32_t)0x10008800) #define DMA_IT_FEIF2 ((uint32_t)0x90010000) #define DMA_IT_DMEIF2 ((uint32_t)0x10041000) #define DMA_IT_TEIF2 ((uint32_t)0x10082000) #define DMA_IT_HTIF2 ((uint32_t)0x10104000) #define DMA_IT_TCIF2 ((uint32_t)0x10208000) #define DMA_IT_FEIF3 ((uint32_t)0x90400000) #define DMA_IT_DMEIF3 ((uint32_t)0x11001000) #define DMA_IT_TEIF3 ((uint32_t)0x12002000) #define DMA_IT_HTIF3 ((uint32_t)0x14004000) #define DMA_IT_TCIF3 ((uint32_t)0x18008000) #define DMA_IT_FEIF4 ((uint32_t)0xA0000001) #define DMA_IT_DMEIF4 ((uint32_t)0x20001004) #define DMA_IT_TEIF4 ((uint32_t)0x20002008) #define DMA_IT_HTIF4 ((uint32_t)0x20004010) #define DMA_IT_TCIF4 ((uint32_t)0x20008020) #define DMA_IT_FEIF5 ((uint32_t)0xA0000040) #define DMA_IT_DMEIF5 ((uint32_t)0x20001100) #define DMA_IT_TEIF5 ((uint32_t)0x20002200) #define DMA_IT_HTIF5 ((uint32_t)0x20004400) #define DMA_IT_TCIF5 ((uint32_t)0x20008800) #define DMA_IT_FEIF6 ((uint32_t)0xA0010000) #define DMA_IT_DMEIF6 ((uint32_t)0x20041000) #define DMA_IT_TEIF6 ((uint32_t)0x20082000) #define DMA_IT_HTIF6 ((uint32_t)0x20104000) #define DMA_IT_TCIF6 ((uint32_t)0x20208000) #define DMA_IT_FEIF7 ((uint32_t)0xA0400000) #define DMA_IT_DMEIF7 ((uint32_t)0x21001000) #define DMA_IT_TEIF7 ((uint32_t)0x22002000) #define DMA_IT_HTIF7 ((uint32_t)0x24004000) #define DMA_IT_TCIF7 ((uint32_t)0x28008000)#define IS_DMA_CLEAR_IT(IT) ((((IT) & 0x30000000) != 0x30000000) && \(((IT) & 0x30000000) != 0) && ((IT) != 0x00) && \(((IT) & 0x40820082) == 0x00))#define IS_DMA_GET_IT(IT) (((IT) == DMA_IT_TCIF0) || ((IT) == DMA_IT_HTIF0) || \((IT) == DMA_IT_TEIF0) || ((IT) == DMA_IT_DMEIF0) || \((IT) == DMA_IT_FEIF0) || ((IT) == DMA_IT_TCIF1) || \((IT) == DMA_IT_HTIF1) || ((IT) == DMA_IT_TEIF1) || \((IT) == DMA_IT_DMEIF1)|| ((IT) == DMA_IT_FEIF1) || \((IT) == DMA_IT_TCIF2) || ((IT) == DMA_IT_HTIF2) || \((IT) == DMA_IT_TEIF2) || ((IT) == DMA_IT_DMEIF2) || \((IT) == DMA_IT_FEIF2) || ((IT) == DMA_IT_TCIF3) || \((IT) == DMA_IT_HTIF3) || ((IT) == DMA_IT_TEIF3) || \((IT) == DMA_IT_DMEIF3)|| ((IT) == DMA_IT_FEIF3) || \((IT) == DMA_IT_TCIF4) || ((IT) == DMA_IT_HTIF4) || \((IT) == DMA_IT_TEIF4) || ((IT) == DMA_IT_DMEIF4) || \((IT) == DMA_IT_FEIF4) || ((IT) == DMA_IT_TCIF5) || \((IT) == DMA_IT_HTIF5) || ((IT) == DMA_IT_TEIF5) || \((IT) == DMA_IT_DMEIF5)|| ((IT) == DMA_IT_FEIF5) || \((IT) == DMA_IT_TCIF6) || ((IT) == DMA_IT_HTIF6) || \((IT) == DMA_IT_TEIF6) || ((IT) == DMA_IT_DMEIF6) || \((IT) == DMA_IT_FEIF6) || ((IT) == DMA_IT_TCIF7) || \((IT) == DMA_IT_HTIF7) || ((IT) == DMA_IT_TEIF7) || \((IT) == DMA_IT_DMEIF7)|| ((IT) == DMA_IT_FEIF7))

DMA_peripheral_increment_offset

/** @defgroup DMA_peripheral_increment_offset * @{*/ #define DMA_PINCOS_Psize ((uint32_t)0x00000000) #define DMA_PINCOS_WordAligned ((uint32_t)0x00008000)#define IS_DMA_PINCOS_SIZE(SIZE) (((SIZE) == DMA_PINCOS_Psize) || \((SIZE) == DMA_PINCOS_WordAligned))

DMA_flow_controller_definitions

/** @defgroup DMA_flow_controller_definitions * @{*/ #define DMA_FlowCtrl_Memory ((uint32_t)0x00000000) #define DMA_FlowCtrl_Peripheral ((uint32_t)0x00000020)#define IS_DMA_FLOW_CTRL(CTRL) (((CTRL) == DMA_FlowCtrl_Memory) || \((CTRL) == DMA_FlowCtrl_Peripheral))

DMA_memory_targets_definitions

/** @defgroup DMA_memory_targets_definitions * @{*/ #define DMA_Memory_0 ((uint32_t)0x00000000) #define DMA_Memory_1 ((uint32_t)0x00080000)#define IS_DMA_CURRENT_MEM(MEM) (((MEM) == DMA_Memory_0) || ((MEM) == DMA_Memory_1))

03. 相關(guān)函數(shù)

/* Exported macro ------------------------------------------------------------*/ /* Exported functions --------------------------------------------------------*/ /* Function used to set the DMA configuration to the default reset state *****/ void DMA_DeInit(DMA_Stream_TypeDef* DMAy_Streamx);/* Initialization and Configuration functions *********************************/ void DMA_Init(DMA_Stream_TypeDef* DMAy_Streamx, DMA_InitTypeDef* DMA_InitStruct); void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct); void DMA_Cmd(DMA_Stream_TypeDef* DMAy_Streamx, FunctionalState NewState);/* Optional Configuration functions *******************************************/ void DMA_PeriphIncOffsetSizeConfig(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_Pincos); void DMA_FlowControllerConfig(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_FlowCtrl);/* Data Counter functions *****************************************************/ void DMA_SetCurrDataCounter(DMA_Stream_TypeDef* DMAy_Streamx, uint16_t Counter); uint16_t DMA_GetCurrDataCounter(DMA_Stream_TypeDef* DMAy_Streamx);/* Double Buffer mode functions ***********************************************/ void DMA_DoubleBufferModeConfig(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t Memory1BaseAddr,uint32_t DMA_CurrentMemory); void DMA_DoubleBufferModeCmd(DMA_Stream_TypeDef* DMAy_Streamx, FunctionalState NewState); void DMA_MemoryTargetConfig(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t MemoryBaseAddr,uint32_t DMA_MemoryTarget); uint32_t DMA_GetCurrentMemoryTarget(DMA_Stream_TypeDef* DMAy_Streamx);/* Interrupts and flags management functions **********************************/ FunctionalState DMA_GetCmdStatus(DMA_Stream_TypeDef* DMAy_Streamx); uint32_t DMA_GetFIFOStatus(DMA_Stream_TypeDef* DMAy_Streamx); FlagStatus DMA_GetFlagStatus(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_FLAG); void DMA_ClearFlag(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_FLAG); void DMA_ITConfig(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_IT, FunctionalState NewState); ITStatus DMA_GetITStatus(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_IT); void DMA_ClearITPendingBit(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_IT);

04. 結(jié)構(gòu)體封裝

/** * @brief DMA Controller*/typedef struct {__IO uint32_t CR; /*!< DMA stream x configuration register */__IO uint32_t NDTR; /*!< DMA stream x number of data register */__IO uint32_t PAR; /*!< DMA stream x peripheral address register */__IO uint32_t M0AR; /*!< DMA stream x memory 0 address register */__IO uint32_t M1AR; /*!< DMA stream x memory 1 address register */__IO uint32_t FCR; /*!< DMA stream x FIFO control register */ } DMA_Stream_TypeDef;typedef struct {__IO uint32_t LISR; /*!< DMA low interrupt status register, Address offset: 0x00 */__IO uint32_t HISR; /*!< DMA high interrupt status register, Address offset: 0x04 */__IO uint32_t LIFCR; /*!< DMA low interrupt flag clear register, Address offset: 0x08 */__IO uint32_t HIFCR; /*!< DMA high interrupt flag clear register, Address offset: 0x0C */ } DMA_TypeDef;

05. 預(yù)留

06. 附錄

6.1 【STM32】STM32系列教程匯總

網(wǎng)址:【STM32】STM32系列教程匯總

07. 聲明

總結(jié)

以上是生活随笔為你收集整理的【STM32】DMA相关函数和类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

91精品视频在线播放 | 狠狠的干 | 国产伦理精品一区二区 | 久久久久国产精品免费网站 | 国产精品porn | 97看片吧 | 狠狠的日日 | 欧美俄罗斯性视频 | 美女精品久久久 | 天天伊人狠狠 | 免费看成人av | 三上悠亚一区二区在线观看 | 欧美日韩在线网站 | 国产成人精品久久久 | 欧美a在线看| 国产精品久久影院 | 91欧美在线| 亚洲视频免费在线观看 | 国产在线黄 | 成人午夜免费福利 | 日韩欧美在线国产 | 91在线欧美| 麻豆传媒在线视频 | 欧美一级片免费 | 国产精品免费看久久久8精臀av | 国产精品综合久久久 | 91色国产在线| 国产精品入口久久 | 99色婷婷| 日日爽日日操 | 五月婷婷黄色网 | 99免费在线视频 | 国产色秀视频 | 亚洲免费精品一区二区 | 日韩一区二区免费在线观看 | 日日干美女 | 久久99欧美 | 91丨九色丨国产丨porny精品 | 在线观看亚洲成人 | 成年人在线免费看视频 | 九九国产精品视频 | 午夜精品区 | 在线精品播放 | 香蕉久久久久久久 | 欧美日韩免费视频 | 黄色h在线观看 | 蜜臀av一区二区 | 韩国视频一区二区三区 | 国产黄色片免费在线观看 | 少妇搡bbbb搡bbb搡忠贞 | 亚洲视频久久 | 黄色小网站在线 | 亚洲精品高清视频在线观看 | 日韩亚洲国产精品 | 国产午夜麻豆影院在线观看 | 美女免费视频一区二区 | 99爱在线 | 亚洲a色| 久久久久久久国产精品影院 | 日av免费| 高清在线观看av | 亚洲砖区区免费 | 丁香婷婷色综合亚洲电影 | 精品一二三四视频 | 五月情婷婷 | 91精品久久久久久 | 五月天激情综合 | 97超碰在线免费观看 | 91精彩在线视频 | 人人射人人爽 | 国产精品第三页 | 亚洲专区欧美专区 | 亚洲欧美日本一区二区三区 | adc在线观看 | 91在线免费观看网站 | 久久精品国产精品亚洲 | 久久成人国产精品入口 | 日韩欧美视频免费观看 | 国产在线精品区 | 成人免费观看在线视频 | 探花视频在线观看 | www.久久99| 亚洲三级影院 | 国产一区二区久久久 | 色在线视频 | 国产一区二区在线观看视频 | 99在线视频网站 | av超碰在线 | 黄色av电影一级片 | 久草免费电影 | 麻豆系列在线观看 | 九九久久影视 | 久久亚洲专区 | 久久躁日日躁aaaaxxxx | 99免费| 国内外成人在线视频 | 最近免费观看的电影完整版 | 99久久99久久精品国产片果冰 | 中文在线a天堂 | 久久综合九色综合欧美狠狠 | 亚洲欧美国内爽妇网 | 玖玖爱免费视频 | 黄a在线观看 | 日韩中文在线字幕 | 81精品国产乱码久久久久久 | 天天操天天操天天干 | 人人插人人看 | 中文字幕高清在线播放 | 国产一区免费在线 | 黄色录像av| 国产91aaa| 四虎在线观看精品视频 | 操久久免费视频 | 五月天综合 | 成人小视频在线免费观看 | 99久久精品国产系列 | 日韩免费小视频 | 9久久精品| 久久久久久久久综合 | 国产理论片在线观看 | 中文字幕黄色网址 | 欧美日韩精品国产 | 日韩 精品 一区 国产 麻豆 | 免费又黄又爽 | 午夜视频在线观看欧美 | 亚洲日本精品视频 | 激情网站 | 精品毛片一区二区免费看 | 96精品视频 | 91在线麻豆 | 最近中文字幕免费av | 午夜18视频在线观看 | 91视频麻豆视频 | 国产黄色精品在线 | 久久久网址| 久草com | 国内外成人免费在线视频 | 欧美午夜a | 国产亚洲精品女人久久久久久 | 亚洲成人精品在线观看 | 国产黄a三级三级三级三级三级 | 亚洲一区二区三区四区在线视频 | 香蕉视频导航 | 中文在线a∨在线 | 91视频中文字幕 | 国内精品亚洲 | 国产成人精品综合久久久久99 | 国产美女在线精品免费观看 | 麻豆视频在线免费观看 | 狠狠色香婷婷久久亚洲精品 | 免费看三级网站 | 国产精选在线 | 夜夜爽www | 极品久久久 | 91高清视频免费 | 亚洲天堂网在线观看视频 | 国产精品一码二码三码在线 | 欧美色888 | 国产一级黄色免费看 | 日韩在线视频播放 | japanesefreesex中国少妇 | 99久久久成人国产精品 | av网站免费在线 | 欧美另类视频 | 日日夜操 | 日韩视频一二三区 | 四虎影视8848aamm | 国产高清免费av | 人人看看人人 | 欧美日韩三级 | 久久视频免费观看 | 国产少妇在线观看 | 免费在线| 日韩二区三区在线观看 | 欧美高清视频不卡网 | 色婷婷激情综合 | 亚洲精品影视在线观看 | 四虎成人免费影院 | 国产精品精品 | 国产99久久九九精品免费 | www.av小说 | 国产精品黄色 | 人人插超碰 | 久久五月婷婷综合 | 久久久久久网站 | 一区二区视频电影在线观看 | 久草视频免费 | 九色精品免费永久在线 | 狠狠色丁香婷婷综合久小说久 | 国产三级国产精品国产专区50 | 中文字幕在线看视频 | 国产亚洲一区二区在线观看 | 国产成人精品一区二区三区在线 | 国产精品资源 | 日韩乱色精品一区二区 | 人人草网站 | 99在线高清视频在线播放 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 日韩精品视频免费看 | 草久在线观看视频 | 久视频在线播放 | 国产精品久久久久久久久久久久久久 | 久久久免费精品 | 91欧美精品 | 欧美中文字幕第一页 | 国产在线黄色 | 国产一区二区在线播放视频 | 西西4444www大胆视频 | 激情五月婷婷综合 | 日韩视 | 亚洲三级精品 | 国产资源在线免费观看 | 涩涩网站在线观看 | 日日夜夜91 | 亚洲日日日 | 一区二区中文字幕在线观看 | 国产精品av在线 | 九九爱免费视频 | 超碰在线色 | 波多野结衣精品视频 | 制服丝袜在线91 | 国产精品午夜在线 | 国产一区二区在线播放 | 在线观看视频日韩 | 亚洲精品国产精品乱码在线观看 | 一区二区三区四区五区在线 | 最近中文字幕完整视频高清1 | 久久综合给合久久狠狠色 | 中文av字幕在线观看 | 精品中文字幕在线播放 | 激情五月av| 在线看成人 | 欧美三级在线播放 | 欧美精品乱码久久久久久 | 国产最新在线观看 | 日韩欧美在线观看一区二区三区 | 亚洲欧美日韩国产 | 婷婷伊人网 | 国产精品免费高清 | 久久综合电影 | 欧美国产精品一区二区 | 国产看片 色| av在线h | 亚洲aⅴ免费在线观看 | 91麻豆精品国产91 | 456免费视频 | 国产成人精品一区二区三区网站观看 | 麻豆一二| 久久99国产精品久久99 | 99精品视频网| 亚洲精品中文字幕视频 | 日韩一区二区三区高清免费看看 | 人人爽人人香蕉 | 中文字幕黄色 | 日韩欧美99 | 91丨九色丨国产丨porny精品 | 久久影院中文字幕 | av网站有哪些 | 国产一区二区综合 | 国产成人精品综合 | 国产精品mv | 日韩视频一区二区三区 | 看片网站黄 | 久久久免费视频播放 | 日韩精品视频免费在线观看 | 色噜噜色噜噜 | 免费观看黄 | av解说在线观看 | 亚洲最新av| 香蕉视频免费看 | 亚洲视频电影在线 | 狠狠操狠狠干天天操 | 91九色视频在线观看 | 婷婷香蕉 | 97精品视频在线 | 久久夜色精品国产欧美乱 | 欧美精品乱码99久久影院 | 亚洲欧美日韩国产一区二区三区 | 激情久久久久久久久久久久久久久久 | 二区三区精品 | 国产精品 中文字幕 亚洲 欧美 | 国产精品精| 美女在线观看av | 国产久草在线观看 | 欧美在线视频一区二区三区 | 午夜的福利 | 日韩高清在线一区二区三区 | 亚洲三级在线免费观看 | 久久精品人 | 特级西西444www大精品视频免费看 | 久久免费视频在线观看 | 亚洲精品免费播放 | 在线播放一区二区三区 | 超碰人人91 | 91九色国产| 在线涩涩 | 亚洲欧美日韩精品久久奇米一区 | 婷婷色5月 | 国色天香第二季 | 欧美视频99 | 国产亚洲精品成人av久久影院 | 成人在线视频网 | 亚洲精品av中文字幕在线在线 | 国产大陆亚洲精品国产 | 色综合激情网 | 黄色免费视频在线观看 | 91精品日韩 | 91久久久久久国产精品 | 亚州精品在线视频 | 欧美一区二区三区免费观看 | 色婷婷久久久综合中文字幕 | 欧美一级视频免费看 | 国产精品久久久久久久免费 | 欧美精品乱码99久久影院 | 欧美性高跟鞋xxxxhd | 欧美激情视频一二三区 | 深爱激情av | 色婷婷在线播放 | 欧美久久久久久久久久久久 | 中文字幕999| 久久国产麻豆 | 欧美日韩一区久久 | 在线观看视频亚洲 | 波多野结衣最新 | 日韩久久午夜一级啪啪 | 在线观看国产www | 久久精品国产亚洲a | 欧美网站黄色 | 日日干美女 | 丁香色婷婷| 日韩欧美在线视频一区二区三区 | a视频免费在线观看 | 国产一级久久久 | 欧美激情精品久久久久久 | 欧美日本不卡 | 国产精品美女久久久久久久 | 狠狠狠狠狠狠天天爱 | freejavvideo日本免费 | 毛片精品免费在线观看 | 91av免费观看 | 中文字幕在线观看免费高清电影 | 亚洲欧美日韩国产一区二区 | 五月婷婷激情 | 精品免费国产一区二区三区四区 | 天堂网一区二区三区 | 在线观看中文字幕亚洲 | 福利一区视频 | 日韩动态视频 | 五月婷婷综合在线观看 | 在线观看视频国产一区 | 国产精品国产三级国产 | 欧美精品久久久久久久久老牛影院 | 在线观看国产v片 | 亚洲免费在线看 | 91av在| 成年人免费电影在线观看 | 国产精品毛片久久久久久 | 国产在线观看av | www.av中文字幕.com | 成人午夜剧场在线观看 | 天天色天天爱天天射综合 | 日韩在线观看一区二区 | 500部大龄熟乱视频 欧美日本三级 | 天天天干夜夜夜操 | 444av| 很黄很色很污的网站 | 91精品啪在线观看国产线免费 | 久久观看免费视频 | 国产精品手机在线 | www.五月婷婷 | 国产日韩精品在线 | 97视频一区 | 久久成人人人人精品欧 | 国产精品9区 | 精品国产乱码久久久久久浪潮 | 国产999精品久久久久久绿帽 | 亚洲精品乱码久久久久久蜜桃动漫 | 日韩在线视频观看免费 | 国产成人一区二区三区影院在线 | 狠狠干狠狠色 | 免费日韩精品 | 亚洲在线精品视频 | 久久毛片网| 日韩网站在线 | 久草成人在线 | 精品色综合 | 日本三级国产 | 中文字幕久久精品一区 | a久久免费视频 | 国产精品久久久久久久婷婷 | 国产一级片视频 | 福利视频午夜 | 亚洲五月六月 | 激情图片区 | 在线激情小视频 | 天天射天天 | 久久综合狠狠综合久久综合88 | 久久成人精品 | 91成人在线免费观看 | 久久99精品一区二区三区三区 | 五月天色网站 | 久久视频在线观看免费 | 日韩视频在线观看视频 | 在线免费观看黄色av | 亚洲不卡在线 | 不卡av在线免费观看 | 91精品国产91久久久久 | www.久久免费 | 99久久精品免费看国产一区二区三区 | 天天射天天干天天爽 | 91久久精品一区二区三区 | 久久国产成人午夜av影院宅 | 日韩av在线不卡 | 国产呻吟在线 | 久久天天躁狠狠躁亚洲综合公司 | 久久刺激视频 | 日韩激情片在线观看 | 国内99视频 | 91av视频在线观看免费 | 91精彩视频在线观看 | 叶爱av在线 | 天天天天综合 | 欧美视频一区二 | 欧美 日韩 成人 | 狠狠狠色丁香婷婷综合激情 | 三级黄色在线 | 在线免费91 | 欧美黑吊大战白妞欧美 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 欧美污网站 | 国产又粗又猛又黄 | 成人av日韩 | 久草视频在线播放 | 国产美女黄网站免费 | 欧美a性| 精品在线99 | 91插插插免费视频 | 91亚洲精品久久久蜜桃网站 | 成人午夜黄色影院 | 日韩av一区二区在线 | 亚洲精品资源 | 91九色porn在线资源 | av黄色国产| 国产精品久久久久久久久久久久午夜 | 国产精品永久久久久久久久久 | 91精品伦理 | 久久成人国产精品一区二区 | 五月在线 | 日韩mv欧美mv国产精品 | 99在线精品观看 | 国产xxxx做受性欧美88 | 日韩视频免费在线观看 | 日韩在线观看视频在线 | 中文不卡视频在线 | 久久综合偷偷噜噜噜色 | 国产大尺度视频 | 手机看片国产日韩 | 成人影音在线 | 亚洲精品国产精品久久99热 | 欧美日韩国产一区 | 婷婷丁香七月 | 九色精品在线 | 丁香六月在线 | 久草资源在线观看 | 免费国产亚洲视频 | 一区中文字幕在线观看 | 日本在线视频一区二区三区 | 亚洲一级黄色 | 久久精品人人做人人综合老师 | 亚洲激情网站免费观看 | 国产综合小视频 | 97人人模人人爽人人喊中文字 | 婷婷色在线播放 | 免费在线视频一区二区 | 日本精品久久久久 | 亚洲在线不卡 | 久久成人在线视频 | av在线进入 | 色资源在线观看 | 国产日本亚洲 | 亚洲综合精品视频 | 免费成人短视频 | 97av免费视频 | 99精品在线视频播放 | 亚洲伦理一区 | 欧美日韩国产综合一区二区 | 日韩高清精品一区二区 | 中文字幕在线精品 | 97香蕉久久国产在线观看 | 香蕉国产91 | 成人在线播放免费观看 | 国内精品二区 | 国产精品一区专区欧美日韩 | 亚洲精品午夜久久久久久久 | 国产69精品久久久久99尤 | 99热这里只有精品1 av中文字幕日韩 | 天天色天天色 | 欧美精品一区二区性色 | 国产主播大尺度精品福利免费 | 国产成人精品av久久 | 国产综合婷婷 | 国产精品99视频 | 韩日视频在线 | 色婷婷福利 | 国产在线高清精品 | av天天澡天天爽天天av | 91大神在线观看视频 | 亚洲精品字幕在线 | 色91在线 | 日韩久久久久久久久久久久 | 狠狠操操操 | 久久亚洲综合国产精品99麻豆的功能介绍 | 片网站| 三级小视频在线观看 | 国产拍揄自揄精品视频麻豆 | 日韩三级免费观看 | 久久九九影视网 | www天天操| 国产精品久久av | 亚洲最大成人网4388xx | 中文字幕在线免费97 | 99视频精品全部免费 在线 | 天天天操天天天干 | 免费黄色网止 | 亚洲午夜久久久久久久久电影网 | 久久狠狠一本精品综合网 | 国产麻豆果冻传媒在线观看 | 久久系列 | 99精品一区二区三区 | 日韩一区二区三区免费视频 | 在线免费观看国产精品 | 在线最新av | 国内丰满少妇猛烈精品播放 | 国产精品久久久久久久久大全 | 麻豆视频入口 | 99在线热播精品免费 | 九九热在线免费观看 | 欧美精品日韩 | 国产精品一区二区免费看 | 最新一区二区三区 | 一区二区三区高清 | 91丨九色丨高潮丰满 | 国产精品免费观看国产网曝瓜 | 热久久免费视频精品 | 中文av在线天堂 | 91亚洲精品久久久蜜桃借种 | 亚洲欧美日韩不卡 | 免费a视频在线 | 中文字幕在线视频国产 | 亚洲黄色成人网 | 国产高清免费在线观看 | 国产午夜av | av色综合网 | 97超碰免费| 久久欧洲视频 | av电影在线观看完整版一区二区 | 国产精品自产拍在线观看桃花 | 韩国精品一区二区三区六区色诱 | 日韩xxx视频 | 亚洲精品在线观看网站 | 韩国av不卡| 免费日韩 精品中文字幕视频在线 | 日韩视频一二三区 | 免费在线国产 | 成人午夜剧场在线观看 | 日韩乱码中文字幕 | 日韩网站中文字幕 | 精品国产综合区久久久久久 | 免费日韩一区 | 97国产大学生情侣白嫩酒店 | 在线视频久 | 日韩综合第一页 | 草莓视频在线观看免费观看 | 欧美va电影 | 国产美女精品人人做人人爽 | av免费网站在线观看 | av青草| 伊人五月天.com | 很黄很污的视频网站 | 久久精品国产一区二区三 | 91一区二区三区久久久久国产乱 | 亚洲视频在线看 | 欧美一级在线 | 久久99深爱久久99精品 | 色噜噜色噜噜 | 国产精品久久99精品毛片三a | 久久福利综合 | 色欧美日韩 | 日韩av在线网站 | 91免费高清 | 国产精品专区h在线观看 | 91自拍视频在线观看 | 久久久久国产精品免费免费搜索 | 免费观看一级一片 | 91精品久久香蕉国产线看观看 | 日韩三级在线观看 | 久久免费黄色大片 | 国产不卡一区二区视频 | 97精品国自产拍在线观看 | 人人爽人人干 | 男女全黄一级一级高潮免费看 | 婷婷丁香在线观看 | 国产美女视频 | 国产高清视频在线观看 | 大型av综合网站 | 激情自拍av | 最新国产精品拍自在线播放 | 在线免费色 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 中文字幕欧美激情 | 国产又粗又硬又爽视频 | 亚州精品天堂中文字幕 | 久久精品久久久久久久 | 欧美精品在线观看 | 中文字幕在线色 | 国内偷拍精品视频 | 中文在线免费一区三区 | 少妇性aaaaaaaaa视频 | 日韩毛片精品 | 一区二区高清在线 | 97超碰在线久草超碰在线观看 | 国产精品美女视频 | 91久久一区二区 | 久久国产a| 在线观看国产福利片 | 久久影视精品 | 五月天色婷婷丁香 | 尤物一区二区三区 | 在线免费观看国产 | 九草视频在线观看 | 国产精品一区二区av影院萌芽 | 国产精品久久久久婷婷 | 国产裸体视频网站 | 激情校园亚洲 | 精品专区| 天天摸天天操天天爽 | 国产精品区二区三区日本 | 日韩精品资源 | 久草9视频 | 欧美午夜理伦三级在线观看 | 2023av| 国产精品视频全国免费观看 | 免费国产在线视频 | 免费成人在线视频网站 | 久久综合狠狠综合久久狠狠色综合 | 精品夜夜嗨av一区二区三区 | 人人爽人人爽人人片av | 在线影院av| 丁香综合网 | 日韩欧美91 | 国产成人精品久久久久 | 欧美999 | 国产成视频在线观看 | 精品美女久久久久久免费 | 久久久久久久免费看 | 超碰在线观看99 | 国产精品1024| 精品久久久久久亚洲综合网 | 丁香婷婷网 | 美女网站在线观看 | 久久久久激情视频 | 欧美日韩国产伦理 | av资源免费在线观看 | 国产999精品久久久影片官网 | 天堂av色婷婷一区二区三区 | 成人黄色中文字幕 | 免费看的黄色的网站 | 婷婷在线不卡 | 狠狠色综合网站久久久久久久 | 91豆花在线观看 | 狠狠插狠狠操 | 日韩高清在线不卡 | 久久视频国产精品免费视频在线 | 国产在线观看av | 欧美日韩高清一区二区三区 | 97香蕉久久国产在线观看 | 伊人久在线 | 91中文在线观看 | 久久精品视频在线观看 | 亚洲精品在线播放视频 | 久久久国产一区二区三区四区小说 | 国产精品久久久久久久午夜片 | 欧美日韩在线观看视频 | 激情伊人五月天久久综合 | 91亚洲成人| 国产一区二区不卡视频 | 国产日韩在线一区 | 亚洲天堂精品 | 91麻豆精品国产自产在线 | 国产99久久久国产精品成人免费 | 中文字幕免费观看视频 | 国产成人av网 | 精品亚洲网 | 天天综合网入口 | av片中文| 黄色不卡av | a v在线观看| 久久少妇 | 国产一区二区三区在线 | 狠狠色狠狠综合久久 | 婷婷五天天在线视频 | av免费在线免费观看 | www.色综合.com | 一区二区三区四区五区在线 | 中文字幕在线观 | 99久久久久久 | 国产一级精品视频 | 欧洲成人免费 | 国产黄免费在线观看 | 久久久久久久久毛片 | 成人av一级片| 97国产小视频 | 国产免费精彩视频 | 免费人做人爱www的视 | 91九色在线观看视频 | 久久久久女人精品毛片 | 99久久精品午夜一区二区小说 | 狠狠躁夜夜av | 国产经典 欧美精品 | 天天干天天在线 | 精品国产免费久久 | 久久久午夜电影 | 伊人视频| 婷色| 亚洲自拍偷拍色图 | 亚洲一区二区三区毛片 | 一区二区中文字幕在线观看 | av在线不卡观看 | 99久久婷婷国产综合精品 | 91九色porny蝌蚪主页 | 日日草天天草 | 国产美女黄网站免费 | 美女视频a美女大全免费下载蜜臀 | 色综合久久天天 | 亚洲视频在线免费观看 | 福利视频导航网址 | 日韩在线视频精品 | 国产成人久久久久 | 六月丁香在线观看 | 99国产精品 | 国产精品亚洲片在线播放 | 在线成人欧美 | 中文字幕国产一区 | 国产在线观看二区 | 日韩精品综合在线 | 日韩色视频在线观看 | 亚洲最新毛片 | 中文字幕国产在线 | 久久久精品国产一区二区电影四季 | 亚洲精品一区二区18漫画 | av在线电影网站 | 男女激情免费网站 | 99九九视频 | 国产成人精品一区二区三区网站观看 | 天海翼一区二区三区免费 | 欧美男女爱爱视频 | 在线亚洲成人 | 亚洲精品9| 色狠狠综合天天综合综合 | 成人黄色电影在线 | 免费国产黄线在线观看视频 | 深爱五月网 | 日本美女xx | 国产精品av在线免费观看 | 这里只有精彩视频 | 色插综合| 久久久久久久久免费视频 | 激情五月播播久久久精品 | 岛国av在线不卡 | 91一区啪爱嗯打偷拍欧美 | 国产精品手机在线播放 | 欧美a在线免费观看 | 国产xxxx性hd极品 | 久久高清国产视频 | 免费中午字幕无吗 | 成人欧美一区二区三区在线观看 | 国产精品一区二区 91 | 日韩精品视频网站 | 日韩精品一区二区三区三炮视频 | 中文在线免费视频 | 99久高清在线观看视频99精品热在线观看视频 | 999久久久久久久久6666 | aⅴ视频在线 | 中文字幕在线观看2018 | 最新午夜| 成年人在线电影 | 亚洲资源在线网 | 日本不卡一区二区三区在线观看 | 国产成人久久精品一区二区三区 | 婷婷伊人综合亚洲综合网 | 日韩理论在线视频 | 国产视频 亚洲精品 | 精品在线视频播放 | 亚洲女欲精品久久久久久久18 | av免费观看网站 | 成人在线视频在线观看 | 久久伦理 | 色99在线 | 国产三级国产精品国产专区50 | av中文字幕网 | 国产精品丝袜久久久久久久不卡 | 成人影视免费 | 亚洲精品一区二区三区高潮 | 国产精品久久久久久电影 | 亚洲精品在线观看中文字幕 | 国产小视频在线播放 | 99亚洲精品视频 | 国产一区二区在线观看免费 | 国产精品短视频 | 国产专区精品视频 | 国产成人精品一区二区三区网站观看 | 片网站 | 成人午夜电影网站 | 在线视频观看91 | 在线视频日韩精品 | 久久综合狠狠综合久久激情 | 中文字幕中文字幕在线一区 | 五月婷婷色丁香 | 欧美色综合久久 | 手机看片| 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 中文字幕频道 | 97国产超碰 | 日韩av中文字幕在线免费观看 | 国产小视频精品 | 日韩激情视频 | 激情开心色 | 四虎影视精品成人 | 色视频在线免费观看 | 国产精品一区久久久久 | 亚洲永久精品视频 | 99精品免费网 | 91精品视频播放 | 97超碰在线久草超碰在线观看 | 欧美激情xxxx性bbbb | 免费视频久久久 | av免费在线观 | 99精品视频中文字幕 | 国产精品视频全国免费观看 | 丁香亚洲 | 国内精品国产三级国产aⅴ久 | 天天搞夜夜骑 | 高清国产一区 | 欧美亚洲精品在线观看 | 日韩欧美在线观看一区二区 | 日韩激情免费视频 | 国产精品免费一区二区 | 国产成人在线免费观看 | 亚洲国产99 | 中文字幕在线高清 | 亚洲欧美少妇 | 亚洲成人在线免费 | 中文字幕在线观看三区 | 一级片免费观看视频 | 婷婷久久国产 | 欧美一区二区伦理片 | 日本中文字幕网址 | 黄色毛片在线 | 久草视频网 | 天天爽综合网 | 色午夜影院 | 这里只有精品视频在线 | 97在线免费观看 | 成人av免费电影 | 丁香婷婷综合网 | 九九热在线精品视频 | 人人爱爱人人 | 国产精品久久久久久久久久东京 | 久草网在线视频 | 久久久久久99精品 | 国产99久久久精品 | 国产一级在线视频 | 91精品天码美女少妇 | www.天天操.com | 国产精品99久久久精品 | 天天射天天操天天干 | 五月婷婷在线播放 | 婷婷国产在线 | 在线观看国产麻豆 | 美女网站在线观看 | 欧美乱淫视频 | 久草在线精品观看 | 欧美最新大片在线看 | 日韩免费区| 中文av不卡 | 日韩精品最新在线观看 | 久久久久久久久久网站 | 欧美激情第28页 | 超碰在线免费福利 | 久久久久久麻豆 | 久久精品99久久久久久2456 | 久久精品视频国产 | 中文字幕精品久久 | 中文字幕 国产 一区 | 久久综合久久综合这里只有精品 | 日韩电影中文字幕 | 久草免费看 | 91网站免费观看 | 午夜黄色一级片 | 在线视频 区 | 国产日韩欧美在线 | 高潮久久久久久 | 美女视频久久 | 97在线观看视频国产 | 久久一区二区三区超碰国产精品 | 欧美精品乱码99久久影院 | 日韩三级视频 | 亚洲3级 | 欧美激情综合五月 | 国产高清成人av | 91亚洲成人| 五月婷社区 | 色婷婷97 | 日本成人黄色片 | a级一a一级在线观看 | 狠狠操综合网 | 一本到在线 | 国产精品原创视频 | 亚洲更新最快 | 日本h视频在线观看 | 国产成人一区在线 | 91久久久久久久一区二区 | 日本中文字幕久久 | 一区二区三区高清 | 久久成人高清视频 | 最近中文字幕久久 | 天天干,狠狠干 | 中文在线字幕免 | 久久精品电影网 | 国产精品久久久久久久久大全 | 久久久影视 | 日韩av区| 国产高清在线一区 | 国产精品18久久久久久首页狼 | 婷婷在线色 | 毛片1000部免费看 | 我要看黄色一级片 | 国产精品视频永久免费播放 | 91精品视频播放 | 国产精品麻豆99久久久久久 | 91在线观看黄 | 国产不卡毛片 | 日本视频不卡 | 99视频精品| 99色人 | 国产夫妻自拍av | 中文日韩在线 | 亚洲国内精品在线 | 亚洲mv大片欧洲mv大片免费 | 亚洲精品欧洲精品 | 免费在线国产黄色 | 午夜电影av | 三级黄色免费 | 午夜精品一区二区三区在线 | 日日草视频| 亚洲高清av | 精品国产一二三四区 | 亚洲精品视频网站在线观看 | 日韩有码在线观看视频 | 久草www| 97在线观看免费高清完整版在线观看 | 99性视频 | 悠悠av资源片 | 日日夜夜精品视频 | 黄色精品一区二区 | 成人久久毛片 | 91亚洲国产成人 | 欧美色图30p | 日韩激情视频在线观看 | 91精品啪啪 | 女女av在线 | 中文字幕一区二区三区乱码在线 | 欧美大片在线观看一区 | 国产91免费在线观看 | 六月丁香六月婷婷 | 999久久国精品免费观看网站 | 久久综合狠狠综合久久综合88 | 成人h电影 | 丁香狠狠 | 久久婷婷五月综合色丁香 | a色视频 | 欧美精品九九 | 久久一区二区三区日韩 | 免费在线观看成人av | 综合视频在线 | 99久久久久久久 | 最近中文字幕大全中文字幕免费 | 国产日产av | 看av免费 | 在线免费av播放 | 国产精品一区久久久久 | 毛片久久久 | 在线观看亚洲精品视频 | 91麻豆文化传媒在线观看 | 狠狠操操| 免费情缘 | 久久久久久网址 | 天天操天天干天天干 |