玩嵌入式得弄明白DMA原理

混說Linux 2023-03-30 11:32
點擊左上方藍色“混說Linux”,選擇“設為星標
第一時間看干貨文章



?1

DMA,全稱Direct Memory Access,即直接存儲器訪問


DMA傳輸將數(shù)據(jù)從一個地址空間復制到另一個地址空間,提供在外設和存儲器之間或者存儲器和存儲器之間的高速數(shù)據(jù)傳輸。


我們知道CPU有轉(zhuǎn)移數(shù)據(jù)、計算、控制程序轉(zhuǎn)移等很多功能,系統(tǒng)運作的核心就是CPU,CPU無時不刻的在處理著大量的事務,但有些事情卻沒有那么重要,比方說數(shù)據(jù)的復制和存儲數(shù)據(jù),如果我們把這部分的CPU資源拿出來,讓CPU去處理其他的復雜計算事務,是不是能夠更好的利用CPU的資源呢?


因此:轉(zhuǎn)移數(shù)據(jù)(尤其是轉(zhuǎn)移大量數(shù)據(jù))是可以不需要CPU參與。比如希望外設A的數(shù)據(jù)拷貝到外設B,只要給兩種外設提供一條數(shù)據(jù)通路,直接讓數(shù)據(jù)由A拷貝到B 不經(jīng)過CPU的處理。

DMA就是基于以上設想設計的,它的作用就是解決大量數(shù)據(jù)轉(zhuǎn)移過度消耗CPU資源的問題。有了DMA使CPU更專注于更加實用的操作–計算、控制等。

?

?DMA?定義?

DMA用來提供在外設和存儲器之間或者存儲器和存儲器之間的高速數(shù)據(jù)傳輸。無須CPU的干預,通過DMA數(shù)據(jù)可以快速地移動。這就節(jié)省了CPU的資源來做其他操作。

?

?DMA 傳輸方式?

DMA的作用就是實現(xiàn)數(shù)據(jù)的直接傳輸,而去掉了傳統(tǒng)數(shù)據(jù)傳輸需要CPU寄存器參與的環(huán)節(jié),主要涉及四種情況的數(shù)據(jù)傳輸,但本質(zhì)上是一樣的,都是從內(nèi)存的某一區(qū)域傳輸?shù)絻?nèi)存的另一區(qū)域(外設的數(shù)據(jù)寄存器本質(zhì)上就是內(nèi)存的一個存儲單元)。四種情況的數(shù)據(jù)傳輸如下:

  • 外設到內(nèi)存

  • 內(nèi)存到外設

  • 內(nèi)存到內(nèi)存

  • 外設到外設

?

?DMA?傳輸參數(shù)?

我們知道,數(shù)據(jù)傳輸,首先需要的是1 數(shù)據(jù)的源地址 2 數(shù)據(jù)傳輸位置的目標地址 ,3 傳遞數(shù)據(jù)多少的數(shù)據(jù)傳輸量 ,4 進行多少次傳輸?shù)膫鬏斈J?DMA所需要的核心參數(shù),便是這四個


當用戶將參數(shù)設置好,主要涉及源地址、目標地址、傳輸數(shù)據(jù)量這三個,DMA控制器就會啟動數(shù)據(jù)傳輸,當剩余傳輸數(shù)據(jù)量為0時 達到傳輸終點,結(jié)束DMA傳輸 ,當然,DMA 還有循環(huán)傳輸模式 當?shù)竭_傳輸終點時會重新啟動DMA傳輸。

  

也就是說只要剩余傳輸數(shù)據(jù)量不是0,而且DMA是啟動狀態(tài),那么就會發(fā)生數(shù)據(jù)傳輸。

  

?DMA 的主要特征?

每個通道都直接連接專用的硬件DMA請求,每個通道都同樣支持軟件觸發(fā)。這些功能通過軟件來配置;
    • 在同一個DMA模塊上,多個請求間的優(yōu)先權(quán)可以通過軟件編程設置(共有四級:很高、高、中等和低),優(yōu)先權(quán)設置相等時由硬件決定(請求0優(yōu)先于請求1,依此類推);
    • 獨立數(shù)據(jù)源和目標數(shù)據(jù)區(qū)的傳輸寬度(字節(jié)、半字、全字),模擬打包和拆包的過程。源和目標地址必須按數(shù)據(jù)傳輸寬度對齊;
    • 支持循環(huán)的緩沖器管理;
    • 每個通道都有3個事件標志(DMA半傳輸、DMA傳輸完成和DMA傳輸出錯),這3個事件標志邏輯或成為一個單獨的中斷請求;
    • 存儲器和存儲器間的傳輸、外設和存儲器、存儲器和外設之間的傳輸;
    • 閃存、SRAM、外設的SRAM、APB1、APB2和AHB外設均可作為訪問的源和目標;
    • 可編程的數(shù)據(jù)傳輸數(shù)目:最大為65535。


STM32有多少個DMA資源?

對于大容量的STM32芯片有2個DMA控制器 兩個DMA控制器,DMA1有7個通道,DMA2有5個通道。

每個通道都可以配置一些外設的地址。


①DMA1 controller

從外設(TIMx[x=1、2、3、4]、ADC1、SPI1、SPI/I2S2、I2Cx[x=1、2]和USARTx[x=1、2、3])產(chǎn)生的7個DMA請求,通過邏輯或輸入到DMA1控制器 其中每個通道都對應著具體的外設:


② DMA2 controller
從外設(TIMx[5、6、7、8]、ADC3、SPI/I2S3、UART4、DAC通道1、2和SDIO)產(chǎn)生的5個請求,經(jīng)邏輯或輸入到DMA2控制器,其中每個通道都對應著具體的外設:


這些在下方系統(tǒng)框圖中也可以清晰地看到。

?

?DMA 工作系統(tǒng)框圖?

?

上方的框圖,我們可以看到STM32內(nèi)核,存儲器,外設及DMA的連接,這些硬件最終通過各種各樣的線連接到總線矩陣中,硬件結(jié)構(gòu)之間的數(shù)據(jù)轉(zhuǎn)移都經(jīng)過總線矩陣的協(xié)調(diào),使各個外設和諧的使用總線來傳輸數(shù)據(jù)。


我們對他來進行一點一點的分析:

下面看有與沒有DMA的情況下,ADC采集的數(shù)據(jù)是怎樣存放到SRAM中的?


沒有DMA
1.如果沒有DMA,CPU傳輸數(shù)據(jù)還要以內(nèi)核作為中轉(zhuǎn)站,比如要將ADC采集的數(shù)據(jù)轉(zhuǎn)移到到SRAM中,這個過程是這樣的:
內(nèi)核通過DCode經(jīng)過總線矩陣協(xié)調(diào),從獲取AHB存儲的外設ADC采集的數(shù)據(jù),然后內(nèi)核再通過DCode經(jīng)過總線矩陣協(xié)調(diào)把數(shù)據(jù)存放到內(nèi)存SRAM中。


有DMA傳輸
有DMA的話,

1. DMA傳輸時外設對DMA控制器發(fā)出請求。

2. DMA控制器收到請求,觸發(fā)DMA工作。

3. DMA控制器從AHB外設獲取ADC采集的數(shù)據(jù),存儲到DMA通道中

4. DMA控制器的DMA總線與總線矩陣協(xié)調(diào),使用AHB把外設ADC采集的數(shù)據(jù)經(jīng)由DMA通道存放到SRAM中,這個數(shù)據(jù)的傳輸過程中,完全不需要內(nèi)核的參與,也就是不需要CPU的參與。


我們把上面的步驟專業(yè)一點介紹:

在發(fā)生一個事件后,外設向DMA控制器發(fā)送一個請求信號。DMA控制器根據(jù)通道的優(yōu)先權(quán)處理請求。當DMA控制器開始訪問發(fā)出請求的外設時,DMA控制器立即發(fā)送給它一個應答信號。當從DMA控制器得到應答信號時,外設立即釋放它的請求。一旦外設釋放了這個請求,DMA控制器同時撤銷應答信號。DMA傳輸結(jié)束,如果有更多的請求時,外設可以啟動下一個周期。


總之,每次DMA傳送由3個操作組成:
    • 從外設數(shù)據(jù)寄存器或者從當前外設/存儲器地址寄存器指示的存儲器地址取數(shù)據(jù),第一次傳輸時的開始地址是DMA_CPARx或DMA_CMARx寄存器指定的外設基地址或存儲器單元;

    • 存數(shù)據(jù)到外設數(shù)據(jù)寄存器或者當前外設/存儲器地址寄存器指示的存儲器地址,第一次傳輸時的開始地址是DMA_CPARx或DMA_CMARx寄存器指定的外設基地址或存儲器單元;

    • 執(zhí)行一次DMA_CNDTRx寄存器的遞減操作,該寄存器包含未完成的操作數(shù)目。

?

?DMA 傳輸方式?

方法1:DMA_Mode_Normal,正常模式

當一次DMA數(shù)據(jù)傳輸完后,停止DMA傳送 ,也就是只傳輸一次

  

方法2:DMA_Mode_Circular ,循環(huán)傳輸模式

當傳輸結(jié)束時,硬件自動會將傳輸數(shù)據(jù)量寄存器進行重裝,進行下一輪的數(shù)據(jù)傳輸。也就是多次傳輸模式

?

?仲裁器?

?


仲裁器的作用是確定各個DMA傳輸?shù)膬?yōu)先級

仲裁器根據(jù)通道請求的優(yōu)先級來啟動外設/存儲器的訪問。


優(yōu)先權(quán)管理分2個階段:

軟件:每個通道的優(yōu)先權(quán)可以在DMA_CCRx寄存器中設置,有4個等級:

  • 最高優(yōu)先級

  • 優(yōu)先級

  • 中等優(yōu)先級

  • 低優(yōu)先級

硬件:如果2個請求有相同的軟件優(yōu)先級,則較低編號的通道比較高編號的通道有較高的優(yōu)先權(quán)。比如:如果軟件優(yōu)先級相同,通道2優(yōu)先于通道4。


注意:在大容量產(chǎn)品和互聯(lián)型產(chǎn)品中,DMA1控制器擁有高于DMA2控制器的優(yōu)先級。

?

?DMA 數(shù)據(jù)流(僅存在于STM32F4/M4內(nèi)核上)??

在設置了DMA的通道之后,還要選擇通道對應外設的數(shù)據(jù)流。


8 個 DMA 控制器數(shù)據(jù)流都能夠提供源和目標之間的單向傳輸鏈路。每個數(shù)據(jù)流配置后都可以執(zhí)行:
● 常規(guī)類型事務:存儲器到外設、外設到存儲器或存儲器到存儲器的傳輸。

● 雙緩沖區(qū)類型事務:使用存儲器的兩個存儲器指針的雙緩沖區(qū)傳輸(當 DMA 正在進行自/至緩沖區(qū)的讀/寫操作時,應用程序可以進行至/自其它緩沖區(qū)的寫/讀操作)。要傳輸?shù)臄?shù)據(jù)量(多達 65535)可以編程,并與連接到外設 AHB 端口的外設(請求 DMA 傳輸)的源寬度相關。每個事務完成后,包含要傳輸?shù)臄?shù)據(jù)項總量的寄存器都會遞減。


DMA_SxCR 寄存器控制數(shù)據(jù)流到底使用哪一個通道,每個數(shù)據(jù)流有 8 個通道可供選擇,每次只能選擇其中一個通道進行 DMA 傳輸。接下來,我們看看 DMA2 的各數(shù)據(jù)流通到映射表,如表 28.1.1 所示:

?

?DMA 傳輸通道?

每個通道都可以在有固定地址的外設寄存器和存儲器地址之間執(zhí)行DMA傳輸。DMA傳輸?shù)臄?shù)據(jù) 量是可編程的,大達到65535。包含要傳輸?shù)臄?shù)據(jù)項數(shù)量的寄存器,在每次傳輸后遞減。


可編程的數(shù)據(jù)量:

外設和存儲器的傳輸數(shù)據(jù)量可以通過DMA_CCRx寄存器中的PSIZE和MSIZE位編程。

?

?指針遞增模式?

根據(jù) DMA_SxCR 寄存器中 PINC 和 MINC 位的狀態(tài),外設和存儲器指針在每次傳輸后可以自動向后遞增或保持常量。當設置為增量模式時,下一個要傳輸?shù)牡刂穼⑹乔耙粋€地址加上增量值


通過單個寄存器訪問外設源或目標數(shù)據(jù)時,禁止遞增模式十分有用。


如果使能了遞增模式,則根據(jù)在 DMA_SxCR 寄存器 PSIZE 或 MSIZE 位中編程的數(shù)據(jù)寬度,下一次傳輸?shù)牡刂穼⑹乔耙淮蝹鬏數(shù)牡刂愤f增 1個數(shù)據(jù)寬度、2個數(shù)據(jù)寬度或 4個數(shù)據(jù)寬度。

?

?存儲器到存儲器模式

DMA通道的操作可以在沒有外設請求的情況下進行,這種操作就是存儲器到存儲器模式。


當設置了DMA_CCRx寄存器中的MEM2MEM位之后,在軟件設置了DMA_CCRx寄存器中的EN位啟動DMA通道時,DMA傳輸將馬上開始。當DMA_CNDTRx寄存器變?yōu)?時,DMA傳輸結(jié)束。存儲器到存儲器模式不能與循環(huán)模式同時使用。


這里要注意僅 DMA2 的外設接口可以訪問存儲器,所以僅 DMA2 控制器支持存儲器到存儲器的傳輸,DMA1 不支持。


存儲器到存儲器模式不能與循環(huán)模式同時使用。

?

?DMA?中斷

每個DMA通道都可以在DMA傳輸過半、傳輸完成和傳輸錯誤時產(chǎn)生中斷。為應用的靈活性考慮,通過設置寄存器的不同位來打開這些中斷。


使沒開啟,我們也可以通過查詢這些位來獲得當前 DMA 傳輸?shù)臓顟B(tài)。這里我們常用的是 TCIFx位,即數(shù)據(jù)流 x 的 DMA 傳輸完成與否標志。


可編程的數(shù)據(jù)傳輸寬度、對齊方式和數(shù)據(jù)大小端

當PSIZE和MSIZE不相同時,DMA模塊按照下圖進行數(shù)據(jù)對齊。


注意:在大容量產(chǎn)品中, DMA2 通道 4 和 DMA2 通道 5 的中斷被映射在同一個中斷向量上。在互聯(lián)型產(chǎn)品 中, DMA2 通道 4 和 DMA2 通道 5 的中斷分別有獨立的中斷向量。所有其他的 DMA 通道都有自己的 中斷向量

?

?DMA?的內(nèi)存占用?

在STM32控制器中,芯片采用Cortex-MX架構(gòu),總線結(jié)構(gòu)有了很大的優(yōu)化,DMA占用另外的地址總線,并不會與CPU的系統(tǒng)總線發(fā)生沖突。也就是說,DMA的使用不會影響CPU的運行速度。


但是要注意:

DMA 控制器和Cortex-M3核共享系統(tǒng)數(shù)據(jù)總線執(zhí)行直接存儲器數(shù)據(jù)傳輸。當CPU和DMA同時訪問相同的目標(RAM或外設)時,DMA請求可能會停止 CPU訪問系統(tǒng)總線達若干個周期,總線仲裁器執(zhí)行循環(huán)調(diào)度,以保證CPU至少可以得到一半的系統(tǒng)總線(存儲器或外設)帶寬。

?


DMA 配置部分


此部分我們分為DMA寄存器和DMA庫函數(shù)分別介紹:

?

?DMA 寄存器?

DMA配置參數(shù)包括:通道地址、優(yōu)先級、數(shù)據(jù)傳輸方向、存儲器/外設數(shù)據(jù)寬度、存儲器/外設地址是否增量、循環(huán)模式、數(shù)據(jù)傳輸量。

?

?DMA?中斷狀態(tài)寄存器(DMA_ISR)?

我們?nèi)绻_啟了 DMA_ISR 中這些中斷,在達到條件后就會跳到中斷服務函數(shù)里面去,即使 沒開啟,我們也可以通過查詢這些位來獲得當前 DMA 傳輸?shù)臓顟B(tài)。這里我們常用的是 TCIFx, 即通道 DMA 傳輸完成與否的標志。


注意此寄存器為只讀寄存器,所以在這些位被置位之后,只能通過其他的操作來清除。

?

?DMA 中斷標志清除寄存器(DMA_IFCR)?


DMA_IFCR 的各位就是用來清除 DMA_ISR 的對應位的,通過寫 0 清除。在 DMA_ISR 被置位后, 我們必須通過向該位寄存器對應的位寫入 0 來清除。

?

?DMA?通道x配置寄存器(DMA_CCRx)?

?

該寄存器控制著 DMA 的很多相關 信息,包括數(shù)據(jù)寬度、外設及存儲器的寬度、通道優(yōu)先級、增量模式、傳輸方向、中斷允許、 使能等都是通過該寄存器來設置的。所以 DMA_CCRx 是 DMA 傳輸?shù)暮诵目刂萍拇嫫鳌?/span>

?

DMA?通道x傳輸數(shù)量寄存器(DMA_CNDTR)(x=1...7)


這個寄存器控制 DMA 通道 x 的每次 傳輸所要傳輸?shù)臄?shù)據(jù)量。其設置范圍為 0~65535。并且該寄存器的值會隨著傳輸?shù)倪M行而減少, 當該寄存器的值為 0 的時候就代表此次數(shù)據(jù)傳輸已經(jīng)全部發(fā)送完成了。所以可以通過這個寄存 器的值來知道當前 DMA 傳輸?shù)倪M度。

?

DMA通道x外設地址寄存器(DMA_CPARx)(x=1...7)

該寄存器用來存儲 STM32 外設的地 址,比如我們使用串口 1,那么該寄存器必須寫入 0x40013804(其實就是&USART1_DR)。如果使 用其他外設,就修改成相應外設的地址就行了。

?

DMA?通道x配置寄存器(DMA_CMARx)?


該寄存器和 DMA_CPARx 差不多, 但是是用來放存儲器的地址的。比如我們使用 SendBuf[5200]數(shù)組來做存儲器,那么我們在 DMA_CMARx 中寫入&SendBuff 就可以了。

?

?DMA?寄存器配置流程?

通道配置過程 下面是配置DMA通道x的過程(x代表通道號):
  1. 在DMA_CPARx寄存器中設置外設寄存器的地址。發(fā)生外設數(shù)據(jù)傳輸請求時,這個地址將 是數(shù)據(jù)傳輸?shù)脑椿蚰繕恕?/span>

  2. 在DMA_CMARx寄存器中設置數(shù)據(jù)存儲器的地址。發(fā)生外設數(shù)據(jù)傳輸請求時,傳輸?shù)臄?shù) 據(jù)將從這個地址讀出或?qū)懭脒@個地址。

  3. 在DMA_CNDTRx寄存器中設置要傳輸?shù)臄?shù)據(jù)量。在每個數(shù)據(jù)傳輸后,這個數(shù)值遞減。

  4. 在DMA_CCRx寄存器的PL[1:0]位中設置通道的優(yōu)先級。

  5. 在DMA_CCRx寄存器中設置數(shù)據(jù)傳輸?shù)姆较颉⒀h(huán)模式、外設和存儲器的增量模式、外 設和存儲器的數(shù)據(jù)寬度、傳輸一半產(chǎn)生中斷或傳輸完成產(chǎn)生中斷。

  6. 設置DMA_CCRx寄存器的ENABLE位,啟動該通道。


一旦啟動了DMA通道,它既可響應連到該通道上的外設的DMA請求。當傳輸一半的數(shù)據(jù)后,半傳輸標志(HTIF)被置1,當設置了允許半傳輸中斷位(HTIE)時,將產(chǎn)生 一個中斷請求。在數(shù)據(jù)傳輸結(jié)束后,傳輸完成標志(TCIF)被置1,當設置了允許傳輸完成中斷位 (TCIE)時,將產(chǎn)生一個中斷請求。

?

?DMA 庫函數(shù)?

1. DMA初始化函數(shù)

DMA_DeInit(DMAX_ChannelX);

功能:將DMAyChannelx寄存器的初始化為其默認值

注釋:RCC_ResetCmd中對DMA無定義,因此采用的直接操縱DMA寄存器的方式


void?DMA_Init(DMA_Channel_TypeDef*?DMAy_Channelx,??DMA_InitTypeDef*?DMA_InitStruct)?

功能:設置要開啟的通道,還有一些參數(shù),包括外設基地址,存儲器基地址,傳輸?shù)臄?shù)據(jù)量,增量模式,數(shù)據(jù)寬度等。


具體看下方結(jié)構(gòu)體代碼介紹:

typedef?struct?{??
???uint32_t?DMA_PeripheralBaseAddr;???
???/*設置DMA源地址*/
???uint32_t?DMA_MemoryBaseAddr;???????
???/*設置DMA目的地址*/
???uint32_t?DMA_DIR;?
???/*?設置數(shù)據(jù)傳輸方向,決定是從外設讀取數(shù)據(jù)到內(nèi)存還送從內(nèi)存讀取數(shù)?據(jù)發(fā)送到外設,也就是外設是源地還是目的地*/???????????????????????
???uint32_t?DMA_BufferSize;??????
???/*設置傳輸大小*/????
???uint32_t?DMA_PeripheralInc;???????
???/*設置ReceiveBuff地址是否自增*/??????
???uint32_t?DMA_MemoryInc;?
???/*設置傳輸數(shù)據(jù)時候內(nèi)存地址是否遞,需要開啟*/???????
???uint32_t?DMA_PeripheralDataSize;???
???/*外設的數(shù)據(jù)長度是為字節(jié)傳輸(8bits),半?字傳輸(16bits)?還是字傳輸(32bits)?*/????
???uint32_t?DMA_MemoryDataSize;????
???/*設置內(nèi)存的數(shù)據(jù)長度*/
???uint32_t?DMA_Mode;??????
???/*設置DMA的模式,正常模式/循環(huán)模式??是否循環(huán)發(fā)送*/????????
???uint32_t?DMA_Priority;?
???/*設置?DMA?通道的優(yōu)先級,有低,中,高,超高四種模式*/????????
???uint32_t?DMA_M2M;????
???/*設置是否是存儲器到存儲器模式傳輸,*/???????
}DMA_InitTypeDef;?


2. DMA使能函數(shù)

void?DMA_Cmd(DMA_Channel_TypeDef*?DMAy_Channelx,?FunctionalState??NewState);

功能:使能或者失能DMA外設

例如:DMA_Cmd(DMA1_Channel1 , ENABLE);


3. DMA中斷使能函數(shù)

void?DMA_ITConfig(DMA_Channel_TypeDef*?DMAy_Channelx,?uint32_t?DMA_IT,??FunctionalState?NewState);

功能:配置指定的DMAy通道x的中斷

注釋:DMA_IT_TC:傳輸完成 DMA_IT_HT:傳輸一半 DMA_IT_TE:傳輸錯誤

例如:DMA_ITConfig(DMA1_Channel1 , DMA_IT_TC , ENABLE);


4. 設置CNDTRx和讀CNDTRx函數(shù) (通道傳輸數(shù)據(jù)量)

void?DMA_SetCurrDataCounter(DMA_Channel_TypeDef*?DMAy_Channelx,?uint16_t??DataNumber);
uint16_t?DMA_GetCurrDataCounter(DMA_Channel_TypeDef*?DMAy_Channelx);

作用:前者設置DMA通道的傳輸數(shù)據(jù)量(DMA處于關閉狀態(tài));后者獲取當前DMA通道傳輸剩余數(shù)據(jù)量(DMA處于開啟狀態(tài))。

?

?DMA 庫函數(shù)配置過程?

    • 使能DMA時鐘:RCC_AHBPeriphClockCmd();
    • 初始化DMA通道:DMA_Init();
      • //設置通道;傳輸?shù)刂罚粋鬏敺较颍粋鬏敂?shù)據(jù)的數(shù)目;傳輸數(shù)據(jù)寬度;傳輸模式;優(yōu)先級;是否開啟存儲器到存儲器。
    • 使能外設DMA;
      • 以串口為例:使能串口DMA發(fā)送,串口DMA使能函數(shù)。調(diào)用函數(shù):USART_DMACmd();
    • 使能DMA通道傳輸;函數(shù):DMA_Cmd();
    • 查詢DMA傳輸狀態(tài)。函數(shù):DMA_GetFlagStatus();
    • 獲取當前剩余數(shù)據(jù)量大小函數(shù):DMA_GetCurrDataCounter(DMA1_Channel4);

?

?UART?DMA 傳輸?

DMA就是一個搬運工,可以將數(shù)據(jù)從一個位置搬運到另一個位置。


以UART為例,如果要接收數(shù)據(jù),會觸發(fā)UART中斷,然后CPU介入,在中斷中通過CPU將UART輸入寄存器的值讀出來,存放到內(nèi)存中;


而DMA方式,產(chǎn)生UART中斷后,DMA直接參與,把UART輸入寄存器的值搬運到內(nèi)存中,CPU只需要在去檢查內(nèi)存的值就好了,這樣提高了CPU的效率。

?

?DMA 代碼配置?

① DMA初始化配置

void?dma_init()
{
??DMA_InitTypeDef?DMA_InitStructure;
??RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);

??/*DMA配置*/
??DMA_InitStructure.DMA_PeripheralBaseAddr?=?USART1_DR_Base;//串口數(shù)據(jù)寄存器地址
??DMA_InitStructure.DMA_MemoryBaseAddr?=?(uint32_t)SendBuff;?//內(nèi)存地址(要傳輸?shù)淖兞康闹羔?
??DMA_InitStructure.DMA_DIR?=?DMA_DIR_PeripheralDST;?//方向(從內(nèi)存到外設)
??DMA_InitStructure.DMA_BufferSize?=?500;?//傳輸內(nèi)容的大小
??DMA_InitStructure.DMA_PeripheralInc?=?DMA_PeripheralInc_Disable;?//外設地址不增
??DMA_InitStructure.DMA_MemoryInc?=?DMA_MemoryInc_Enable;?//內(nèi)存地址自增
??DMA_InitStructure.DMA_PeripheralDataSize?=
??DMA_PeripheralDataSize_Byte?;?//外設數(shù)據(jù)單位
??DMA_InitStructure.DMA_MemoryDataSize?=
??DMA_MemoryDataSize_Byte?;?//內(nèi)存數(shù)據(jù)單位
??DMA_InitStructure.DMA_Mode?=?DMA_Mode_Normal?;?//DMA模式:一次傳輸,循環(huán)
??DMA_InitStructure.DMA_Priority?=?DMA_Priority_Medium?;?//優(yōu)先級:高
??DMA_InitStructure.DMA_M2M?=?DMA_M2M_Disable;?//禁止內(nèi)存到內(nèi)存的傳輸
?
??DMA_Init(DMA1_Channel4,?&DMA_InitStructure);?//配置DMA1的4通道
??DMA_Cmd(DMA1_Channel4,ENABLE);
??DMA_SetCurrDataCounter(DMA_CH4,DMA1_MEM_LEN);//DMA通道的DMA緩存的大小
??DMA_ITConfig(DMA1_Channel4,DMA_IT_TC,ENABLE);//配置DMA發(fā)送完成后產(chǎn)生中斷
}


DMA中斷

void?DMA1_Channel4_IRQHandler(void)
{
????if(DMA_GetFlagStatus(DMA1_FLAG_TC4)==SET)
????{?
????????DMA_ClearFlag(DMA1_FLAG_TC4);
????}
}


main函數(shù)

#define?SEND_BUF_SIZE?500?//發(fā)送數(shù)據(jù)長度,最好等于sizeof(TEXT_TO_SEND)+2的整數(shù)倍.
?
u8?SendBuff[SEND_BUF_SIZE];?//發(fā)送數(shù)據(jù)緩沖區(qū)
const?u8?TEXT_TO_SEND[]={"STM32F1?DMA?串口實驗"};
?uint16_t?i;
int?main(void)
{????
????uart_init(115200);???//串口初始化為115200
????????
????for(i=0;i<500;i++)
????{
???????SendBuff[i]?=?0xaf;
????}?
????USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE);??//使能串口dma傳輸?
????
????while(1);
}


原文:http://t.csdn.cn/RpJOa

本文系網(wǎng)絡轉(zhuǎn)載,版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除。





往期推薦

嵌入式設備系統(tǒng)日志記錄方法

華為一名19級專家離職時留下的7000字|肺腑真言,令人深思!

一個單片機驅(qū)動 LCD 的編程思路

校招進大疆了!

混說Linux 百度研發(fā)工程師,分享Linux干貨,和大家一起學習!
評論
  • 在物聯(lián)網(wǎng)從“萬物互聯(lián)”邁向“萬物智聯(lián)”的進程中,LTE Cat.1憑借其在速率、成本與網(wǎng)絡覆蓋之間的完美平衡,正成為中低速物聯(lián)網(wǎng)市場的絕對主力。隨著2G/3G網(wǎng)絡的逐步退網(wǎng)以及新國標對終端設備智能化、定位功能的強制要求,Cat.1模組迎來了爆發(fā)式的增長窗口。在這一關鍵節(jié)點,基于華為海思Hi2131芯片設計的LTE Cat.1模組,憑借其在能效、射頻、架構(gòu)及物理規(guī)格上的底層創(chuàng)新,成功打破了“高性能必高功耗”的傳統(tǒng)魔咒,為行業(yè)提供了極具競爭力的連接最優(yōu)解。核心技術優(yōu)勢:重塑Cat.1能效與連接標桿海
    用戶1778981989717 2026-08-05 21:04 169瀏覽
  • 產(chǎn)品使用18V供電,配套4串鋰離子電池,需要設計一個充電器。因為輸入18V,電池最高 16.8V,壓差僅 1.2V。因為壓差太小。使用開關型的充電控制芯片不穩(wěn)定。嘗試自行設計一個。整體采用分立三極管 + TL431架構(gòu),分4個功能單元:使能控制回路、限流環(huán)路、TL431 精密恒壓反饋環(huán)路、PNP 功率管主功率輸出回路;實現(xiàn)完整鋰電池充電邏輯。使能控制回路按鍵按下:5V 電壓經(jīng) R12 (2kΩ) 送入 NPN 管 Q3 基極,Q3 飽和導通,對地拉低 R1、R2 組成的分壓控制節(jié)點電位;該節(jié)點直
    southcreek 2026-08-07 13:45 316瀏覽
  •                                                                        
    廣州鐵金剛 2026-08-06 17:44 101812瀏覽
  • 做藍牙音箱的工程師大概都碰過這個局面。產(chǎn)品要連手機放歌,要本地播開機提示音和按鍵音,還要接 App 做配網(wǎng)和狀態(tài)上報。三件事拆開,早先的常規(guī)做法是音頻藍牙一顆料、數(shù)傳藍牙一顆料、本地播放再掛一顆小 MCU 加一片 Flash。板子越畫越大,BOM 越算越貴,待機電流和固件工作量也跟著漲。WT2605C 出來以后,這套需求可以集成到一顆芯片,就是 WT2605C-32N,該芯片采用QFN32 封裝,4×4 毫米,把音頻藍牙、BLE 數(shù)傳和 MP3 本地播放三樣全包了。對藍牙音箱來說,最實在的好處就
    唯創(chuàng)知音語音芯片 2026-08-06 15:14 284瀏覽
  • 摘要防爆自控系統(tǒng)同時布設本安信號、工業(yè)總線、動力供電三類線路,僅依靠標識標牌管控插接極易出現(xiàn)人為錯插問題,高壓動力回路竄入本安弱電回路會突破安全柵限能標準,產(chǎn)生點火風險。依托 A、D、K 標準化機械防呆編碼體系,搭配護套顏色區(qū)分管理,適配 3 針 3 孔免焊接冷壓增安型防爆航插、5PIN 總線防爆航空插頭、8 芯焊接防爆法蘭插座的選型使用,從物理結(jié)構(gòu)層面杜絕防爆接近開關連接器、防爆傳感器航插接頭混用插接問題,補齊防爆系統(tǒng)被動安全防護體系。關鍵詞圓形防爆連接器,防呆編碼防爆航插,防爆航空插頭,防爆
    kyfbest科迎法電氣 2026-07-31 18:29 407瀏覽
  • ?摘要:低價大流量卡正全面退市,政策收緊已成定局。面對傳統(tǒng)號卡的不確定性,隨身WiFi憑借穩(wěn)定連接、多設備共享、獨立設備和靈活套餐等優(yōu)勢,成為務實可靠的備選方案。1、流量卡黃金時代要結(jié)束了通信行業(yè)正迎來一場前所未有的“地震式”調(diào)整——曾讓無數(shù)用戶追捧的低價大流量卡,正在全速退出各大平臺。這早已不是一次普通的競合,而是一場趨勢性的行業(yè)洗牌。回望過去,19元200G的神卡,那時真是“睡著都能笑醒”,便宜到不敢相信,爽到忍不住炫耀。那些日子,好像隨便刷、隨便看,流量自由觸手可及。可如今,回頭再看,那種
    愛上電路設計 2026-08-03 10:21 128870瀏覽
  • 在EMC測試過程中,傳導發(fā)射(Conducted Emission,CE)超標是工程師最常遇到的問題之一。更令人頭疼的是,同樣的超標曲線背后,可能對應著完全不同的干擾機理:有的是差模噪聲沿電源回路傳播,有的是共模電流通過寄生路徑耦合,還有些問題甚至并非來自電源本身,而是負載、電纜布局或接地結(jié)構(gòu)引起的連鎖反應。 · 150kHz~1MHz 超標:多為差模噪聲為主,干擾沿火線-零線回路傳輸。 · 1MHz~30MHz 超標:通常共模噪聲占主導,干擾通過火線/零線對地回路傳播。 如果條件允許,用電流探
    譽磁電磁兼容EMC 2026-07-31 18:45 501瀏覽
  • 在前六期中,我們已經(jīng)分別討論了 CRA 的適用范圍、整體影響、漏洞通報義務、風險評估與技術文檔證據(jù)鏈、第三方組件與 SBOM 供應鏈治理,以及產(chǎn)品上市后的支持期、安全更新、用戶說明和終止支持管理。到這里,企業(yè)已經(jīng)能夠回答幾個核心問題:產(chǎn)品是否落入 CRA 適用范圍,產(chǎn)品由哪些組件構(gòu)成,企業(yè)如何證明自己在設計、開發(fā)和上市前采取了必要的安全措施,以及產(chǎn)品上市后如何持續(xù)維護和安全下線。但對于真正準備落地 CRA 合規(guī)的企業(yè)來說,還有一個更現(xiàn)實的問題:CRA 的法規(guī)條文相對原則化,企業(yè)應當如何把“網(wǎng)絡安
    虹科云科技 2026-08-03 16:51 150703瀏覽
  •        很多人只見過封裝在SMD外殼里的小尺寸晶振,卻不知道一顆2016、1612甚至1210封裝的微型石英晶振,從一塊巴掌大的石英原礦,到最終能穩(wěn)定起振的成品,要經(jīng)過十幾道精密工序。它內(nèi)部的石英晶片厚度最薄不到20微米,比普通A4紙的1/5還薄,整個生產(chǎn)過程里哪怕0.1微米的誤差,都會直接廢掉整批產(chǎn)品,這也是小尺寸晶振過去長期依賴進口,國內(nèi)廠商花了十幾年才啃下量產(chǎn)硬骨頭的核心原因。1. 原石定向切割:0.01度的角度誤差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 377瀏覽
  • 智能寵物用品這幾年快速普及,自動清理幾乎成了智能貓砂盆的標配。貓咪用完離場,設備自動翻轉(zhuǎn)清理,養(yǎng)寵家庭省去了每天彎腰清理的麻煩。但自動清理的第一步,是先準確判斷貓到底在不在盆里。這個看似簡單的問題,在小空間里并不容易做好。近場檢測的痛點:距離太遠反而誤事貓砂盆內(nèi)部空間有限。如果傳感器的檢測距離設得偏大,盆外路過的貓、人甚至物品都會被誤判為貓在盆內(nèi),結(jié)果該清理時不清理、不該清理時亂清理,體驗直接崩壞。這類產(chǎn)品的核心訴求其實就一句話:近距離、小范圍、精準識別,不能有半點誤判。常規(guī)感應方案常因檢測距離
    唯創(chuàng)知音語音芯片 2026-07-31 16:51 306瀏覽
  • 導語在現(xiàn)代高速數(shù)字電路設計中,信號的完整性已不僅是理想波形推演,而是一場與物理非理想特性正面博弈的工程實踐。濾波器芯片作為凈化傳輸鏈路的關鍵屏障,其核心挑戰(zhàn)在于:能否有效識別并濾除那些隱匿在電平跳變過程中的亞納秒級瞬態(tài)脈沖干擾,這類干擾持續(xù)極短,卻足以在高速鏈路中引發(fā)誤觸發(fā)。然而,傳統(tǒng)函數(shù)發(fā)生器受限于采樣率與邊沿速率,根本無法忠實復現(xiàn)如此狹窄且陡峭的異常波形。針對此困境,德思特TS-AWG7000系列任意波形發(fā)生器以17 GS/s采樣率與50 ps原生邊沿速度,為瞬態(tài)脈沖提供精細刻畫,配合SPG
    德思特測試測量 2026-08-05 14:06 5瀏覽
  • 摘要在防爆電氣設計中,只參照芯數(shù)選型而忽略額定載流量,長期滿負荷運行會出現(xiàn)插頭發(fā)熱、接觸面氧化、IP67 密封受熱老化等問題。結(jié)合常用 3 針 3 孔、4 芯、5PIN、8PIN 圓形防爆連接器,制作分級電流參數(shù)對照表,區(qū)分冷壓免焊接、焊接兩種接線結(jié)構(gòu)的安全載流數(shù)值,設置合理電流冗余系數(shù),搭配使用環(huán)境修正參數(shù),規(guī)范防爆接近開關連接器、防爆法蘭插座的選型計算方式。關鍵詞圓形防爆連接器,載流參數(shù)表,防爆法蘭插座,防爆端子接頭,IP67 防爆防水接插件1 產(chǎn)品概述圓形防爆連接器觸點載流能力由插針直徑、
    kyfbest科迎法電氣 2026-08-03 09:18 128642瀏覽
  •     長期專注WiFi領域,也算是行業(yè)老兵了!同行閑聊中,時不時能提起我和我們!從疫情起,國產(chǎn)替代風生水起,起起落落,大浪淘沙,生存下來的都是強者!    WiFi模塊應用廣泛,對于高端市場和特定市場,要求WIFI模塊需要過CE/FCC之類的認證,也就是說沒有認證的模塊,不具備導入產(chǎn)品設計.接下來就和大家聊聊認證模塊選型參考!    WIFi模塊硬件方面主要考慮以下九點特性:    1
    納拓科技 2026-07-31 17:56 252瀏覽
  • 文:杜杰編輯:侯煜當?shù)貢r間7月28日,美國特朗普政府落地最新科技封鎖政策,美國聯(lián)邦通信委員會(FCC)正式更新《受管制清單》,新增兩大類設備——境外生產(chǎn)的先進機器人設備、境外生產(chǎn)的聯(lián)網(wǎng)電力逆變器。FCC在官方情況說明書中明確,該類境外制造產(chǎn)品,“會對美國國家安全或美國民眾的人身安全構(gòu)成無法承受的風險”。本次新規(guī)設置明確豁免機制:經(jīng)美國國防部(DoW)、電力逆變器品類經(jīng)美國國土安全部(DHS)審核并授予“有條件批準”,認定對應設備品類不存在重大安全風險,即可獲得準入豁免。同時政策嚴格執(zhí)行新老劃斷原
    華爾街科技眼 2026-08-03 21:28 325瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 高清聊斋:兰若寺未删减| 我有个兄弟叫顺溜| 武则天宫雪花| 性暴行y刂2| 女人的天空 电视剧| 《妻子的闺蜜》大结局| 荣誉守则在线观看免费版| 电视剧一言为定| 韩剧妈妈爱上儿子全集| 丹麦vs塞尔维亚| 六扇门之双面人| 皇家奶娘在线观看,美丽的姑娘观看在 | 京都疑云主题曲| 奔跑吧第十一季免费观看完整版| 500星级之341电影完整版| 花宫亚美| 夜莺影院免费观看电视剧全集| 倔强的驱魔师1-4集免费观看 | 长春市| 疯狂杰克| 按摩少妇2| 诱人的飞行韩国电影| 我的女友妈妈韩字的ID是谁电影| 黑白禁区电视剧免费观看完整版| 白月梵星花絮| 三级片替夫还债的家庖妇女 | 一起愁愁30集全集免费看 | 木下凛凛子出演电影交换夫妇| 鬼灭之刃柱训篇| 风水相师断命:一眼定吉凶短剧全集| 束缚游戏完整版| 斗罗大陆226集在线观看| 朋友的妈妈在线观看免费| 德令哈一夜刀郎原唱| 手工折纸衣服| 部长出差的日子在线观看| 当我的指尖触碰到你温度时| 周渝民最新电影| 《坚如磐石》电影| 陪部长出差的电影叫什么名字| 中国特种部队宣传片| 爱我几何无删减在线观看完整版中文| 复仇电影在线观看免费完整版| 人马速配45分钟免费视频| 诀别书简谱| 没有工作的一年| 香奈儿版满天星古墓丽影| 神犬奇兵演员表全部| 名侦探柯南724| 功夫瑜伽西瓜影音| 给你宇宙未删减| 高压监控2法国版| 拜托了机长剧情介绍| 还珠格格第一部电视剧| 我的健身锻炼3完整版| 为时已是寿司!?全集观看| 上锁的房间电视剧免费观看完整版| 老同学5普通话| 神马四兄弟电影| 女朋友的妺妺4在线观看| 男女一起免费观看高清完整版电视剧 | 花与蛇2之牙医| 留存的爱电影| 李健翻唱王菲《如愿》| 插曲30全集免费观看| 《催眠项圈》完整动漫在线观看| star 444| 《少女》2电影| 哈利波特与混血王子在线观看| 郊游 电影| 《丈夫叫妻子陪上司睡电影 | 艳姆 动漫| 白峰电影在线观点| 东北告别团队2| 恶人传 高清版在线观看| 电影荣誉守则| 少年阿宾20| 终末的女武神 樱花| 巨茎挺进李淑芬的体| 高清伪术奇才未删减| 失落的秘符下载| 莱恩安德森《满天星》| 伦理《法国护士长》-完结国语版全集| 听风者电视剧| 《极乐宝鉴》免费观看高清| 青盲电视剧全集50| 大秦帝国第二部高清| 安斋拉拉电影完整版电影| 王健林年会献唱| 闯关东1| 《玫瑰》瓜达卢佩在线播放免费观看 | 五十度灰ed2k| k8s经典版(老经典版)全集免费| 甄嬛传电视剧全集完整版| 华语电视| 铿铿锵锵在线看免费观看 | 国家命运剧情| 广西许升华真正女朋友| 有情饮水饱国语版| 私人助理2| 灵动 鬼影实录| 青春之旅电影| 天美乡村影院免费观看电视剧| 上海滩全集| 青梅竹马是消防2季未增删| 我的性肉欲继拇| 跪下吃他胯下的体育生H | 短剧《他偏要》| 《比加拉什》免费观看| 王牌贱谍| 渔民家姑娘2幕后花絮| 禁止的爱善良的小蛦子 在钱| 法国灭火宝贝满天星完整线上 | 使徒行者2在线播放| 空中飞人打一字| 安姨售楼女王电影在线观看| 高清废世界未删减| 少年包青天三| 特殊治疗日剧| 坚果之王第一名是什么| 千金与佣人电影叫什么| 他在星河之州免费观看全集| 黑白配1080完整版免费观看| 冬日姜饼| 需要爸爸种子 - 在线追剧| 电视剧心想事成| 宴遇永安 电视剧 在线观看| 一个人免费看的高清电影在线观看 | 李丽珍三部曲免费观看全集电影| 冰女的故事| 神龙归位什么意思| 美女扒精光| 保姆119全集下载| 美国版《健美》在线播放| 桃花请缨免费看全集| 火烧天堂镇| 别墅轮换3| 花样年华电影未删减完整版| 深夜濡恋| 《肉蔻之香》法国剧情解析 | 《私人航空》免费观看在线观看| 普通人电影在线观看| 心锁百度影音| 贵妇人精油按摩伦理电影| 追凶者也未删减| 小女花不弃剧情| 渔夫荒野史完整版免费观看高清 | 善良的嫂子2 电影| 珍妮泰山1995全集免费看| 老公与老婆完整版| 斑马视频电影完整版在线观看| 美国女儿借爸爸种菜是哪一集| 女儿的老公中字ID| 任宏恩哭坟| 男女生一起愁愁视频在线观看| 女娲传奇之灵珠| 太极张三丰粤语| 韩国电影修理工的外遇| 菲律宾电影修理工的艳遇| 真探第二季在线观看完整版| 《军事不当行为》在线观看| 熊孩子惨案| 全城热恋2011| 《理发:特殊待遇》电影| 短剧在线观看| 猩猩电影| 莉亚戈蒂满天星免费观看全部剧情 | 空间神医全集免费| 《斯巴达2帝国女版》在线| 游轮大浩劫| 粉色大白菜法国原版| 满天星版《荒!女儿国》| 善良的嫂子4在线高清免费观看| 2对1:三人一次性体检在线观看中文字 | 法国式禁忌结局1-4| 韩剧 为人民的服务| 最好的我们电视剧免费观看| 泰州市| 八部半电影| 南充属于几线城市| 呼啸山乡电视剧全集免费观看| 安那情欲史| 《逍遥》电视剧| 高清在线观看免费版PPT大学生| 美国1-5普通话免费观看完整版| 娃娃脸电影完整版在线观看| 求婚大作战| 插曲的痛在线免费观看| 汤镇业版天龙八部| 山谷里的思念| 欧少女16集最后一集| 九九电视剧| 秋元まゆ花| 星克莱尔的《第一夫人》| 妈妈母乳1-5H| 高清有罪之身| 我的学妹| 公孚之手中字9| 风语者高清| 免费飞虎神鹰42电视| 《种马3》电影免费观看| 2046电影| 美人电影| 二阶堂梦在线观看| 老马的快乐生活| 吴亦凡不服一审提起上诉| 海淀区| 义姐不是| 成毅王权富贵电视剧免费播放| 电视剧现场铁证| 女超人手机在线观看| 李丽珍主演的电影免费观看国语| 极乐老人| 天海翼在线| 《天才医生》全集观看| 加勒比女| 掌中之物未删减完整版| 追光者40集全免费| 铠甲勇士52| 名欲场在线观看| 法国空乘5完整版免费看| 结分谎情式粤语| 金瓶梅杨思敏版| 暴躁46集全在线观看免费高清| 花木兰2动画片| 神话优酷| 国风按摩院1-5季顺序| 危情直播| 阿罗汉国语| 鬼吹灯之湘西秘藏| 姊妹牙医免费观看。| 谍影重重6完整高清在线播放| 蜜桃成熟百度影音| 《法国航空3》电影| 琼瑶回应于正道歉| jackerman在线观看| 与部长一起出去差旅| 非常了得20110824| 长津湖电影| 《超人》| overflow第一季全集免费| 逆天成仙赵飞扬短剧一口气看完| 港汇跳楼| 公与浮1| 军人使命电视剧| 越狱第一季| 另一个贝内特家的姐妹全集观看| XL司令第三季真人| 30天韩剧免费观看全集高清在线| 高清入间同学入魔了! 第四季| 歼灭天际线1-100| 诺亚方舟漂流记 电影| 高清《泰迪熊 第二季》电视剧| 乡城县| 渔夫荒淫史无删减版| 练气十万年| 高跟鞋smvk| 密爱 在线看| 色拉拉视频在线| 校园兔女郎迅雷下载| 安妈超正最新今天| 陪讨厌部长去出差旅日本| 两个人在线观看免费完整版| 龙珠国语版| 美容美发店里的特殊待遇中文字幕| 薛平贵王宝钏| 楚门的世界高清免费观看| 复仇女王全集免费| 电影《姐妹牙医》免费观看 | 惊世狂花下载| 交换上司的秘书2| 降头国语| 泰剧是你| 为食神探粤语| 《睫毛膏》9| 新妈妈中字| 你好李焕英免费版在线播放| 5帕克禁忌| 魔法圣婴在线观看| 国产动漫| 丧尸国度第三季| 罗丽星克莱尔不卡中文字幕| 忠诚电视剧高长河大结局| 回复术士的重来人生13| 成版《古墓丽影》| 我叫金三顺国语全集| 点燃我温暖你更新时间| 坛蜜作品| 驯服小姨子2在线观看| 公主日记1| 来自星星得你| 圣特罗佩姑娘们| 接档夫妻联欢的下一个动画| 以法名义电视剧播放| 爷们儿全集剧情介绍| 年轻的女朋友在线观看 | 西班牙《掌中之物》完整版| 时光大盗| qingchunqi| 星语心愿之再爱 电影| 王李丹妮新片《维修工》叫什么名字| 流放之路升华试炼| 外卖曝光电影| 这么多年 电影 在线观看| 古惑仔6胜者为王国语高清| 小岳岳相声| 方子传qvod| 古战场传奇第一季完整版| 女律师的坠落完整版HD| 三大队电影免费| 公之手中字和公中中家的区别| 电影我们的幸福时光| 九龙城寨之围城古天乐正版下载| 电视剧新生2024| 强者风范| 翡翠凤凰剧情| 1—5集免费普通话版在线观看| 丰满的女邻居在线观看| 高清《风花雪月》香港在线观看| 美容室:待遇服务7在哪里看| 张家辉电影全集| 履霜坚冰至| 快播网吧电影| jizz俄罗斯| 超有趣滑雪大会综艺免费观看| 手工制作丝网花| 凤归巢短剧全集免费观看完整版| 暴躁46集免费播放下载安装| 校墓处粤语| 韩国免费爱情电影大全| 潘多拉之镜| 哈哈哈哈哈第五季免费观看完整版| 金蝉脱壳1| 幽魂解说| 《甲种公牛》意大利| 巴西农民宰猪时失手刺中大腿| 乡村牧师| 我们都是超能力者完整版电影| 卖房子的女销售2(1)艺术片| 宫锁心玉21| 跳水世锦赛女子十米台决赛直播 | 雷神百度影音高清| 泰剧电视剧免费观看高清| 需要爸爸播种籽英文| 南美超级杯| 遇见你之前| 成全在线动漫| 光辉岁月电影| 为你千千万万短剧68集| 影片《夫妻的快乐旅游》在线观看| 出差遇到渣男前任完整版在线观看| 人脉王韩剧在线观看星辰| 花木兰2动画片国语| 禁止想象电影完整版| 要爸爸播种子电影| 高清打工仔的拷问日常| 高清《我们的父辈》免费观看| 启航当风起时电视剧全集免费观看 | 我在他乡挺好的一共多少集| 禁忌魅惑| 战狼6666电影免费观看正版高清版下载 | 高压监狱2成人版在线观看| 江湖少年诀电视剧免费观看| 射雕英雄传之侠之大者免费完整版| 私人航空在线观看完整版电影| 新电影2013上映| 我的漂亮姐姐韩剧完整版中文 | 战狼6观看在线下载高清| 三姐妹高清在线观看免费韩剧 | 金装鬼打鬼未删减版观看| 酒店房间1~40集| 李采潭外遇的妻子| juy一747青木玲在线观看| 人前是爸爸背后是老公| 牙医姊妹在线观看| 罗宾 威廉姆斯| 童话村手机在线观| 刘小光街舞| 《莫妮卡《爱我几何》》高清再线播放 | 陕西省| 浪漫黛比1| 古惑仔电影系列| 斗罗大陆162| 美味快递员2特殊待遇| 需要爸爸的种子伦理片在线播放| 《机械师6》在线观看高清免费| 长相思二电视剧在线观看免费版 | 再见爱人4免费观看完整版| ssni-025| 倩女幽魂在线观看| 女超人法国无删减版麦乐迪| 人间正道是沧桑电视剧免费| 长安二十四计全集免费看| 好男儿之情感护理| 《4位少妇精油按摩记》| 种啥的啥| 桂林小张| 出差被最讨厌的部长欺负的电影| 和讨厌的部长出差旅bd| 《美丽毒素》| 狂野的需求| 女友的妈妈双字ID| 与女部长出差的日子电影在线观看| 黑太阳 731电影| 豆豆笑笑| 日本大学生特殊按摩3| 韩剧《蓝帽子》完整版| 金蝉脱壳在线观看| 大宅门电视剧全集免费观看| 369你懂的电影| 雪烟追逐未删减| 姜汉娜的《二对一》| 法国空姐2018年正版| 《束缚游戏》| 十八岁的天空2| 游击兵工厂全集| 《隔壁女邻居3》BD高清| 一个妈妈的9中字头强华驿人物关系 | 校园女大兵 电视剧| 《分娩按摩》2| 电影需要爸爸播种子免费完整版在线观看 | 燃烧电视剧全集免费观看| 仙逆第二季在线播放| 日本电影《特殊游泳老师》的编剧是 | 持枪流浪汉电影| 生死之恋三部曲| 只是结婚的关系免费观看西瓜| 强奸轮奸影片免费播放| 三国创世录| 胸肌撕裂者| 做aj的电视剧大全免费观看中国| 空姐3完整版免费| 久别重逢:初恋还是你全集免费| 成仁高清影视| 儿子爱上日本妈妈是哪部电影| 小凤新婚下集| 裂痕短剧电视剧免费观看完整版| 《真相》在线观看免费| 战狼6欧式少女全集在哪看| SGKI-068中文字幕| 韩国电影姐姐在线完整版观看| 电影男与女免费星辰| 芜湖市| 啄木鸟《劳拉的遗产》叫什么| 茅坑里的僵尸完整版| 疯狂萝卜| 就爱江湖| 驯服上司女社长| 美国忌讳1~7| 2001太空漫游免费| 插曲的痛全集免费观看高清版| 与敌同行国语下载| 超级教师3免费观看电视剧下载| 高清《爱的温暖》在线完整版| 江湖兄弟电视剧| 高级贵妇交换俱乐部| 娃娃脸4完整版免费| 使徒行者3粤语电视剧| 新少年包拯电视剧免费观看| 香港小姑娘一级电影| 金螺王子| 爱我几何剧情介绍| 被夫上司持续入侵大桥未久| 《家访老师》在线观看吴梦梦| 耙怎么读| 法医嫡女短剧全集| 京城李公子是谁| 《不再是朋友的夜晚第二季》 | 小人物在线观看| 插曲30集全集免费播放在线观看| 大内密探 零零性性| 不能和你分手歌词| 斗破苍穹105集免费观看| 伦理《法国空乘5》HD| 高清《家政服务》免费观看| 荒岛惊魂未删除版| 新包青天吕良伟版普通话| 日剧和部长一起去出差| 扫黑风暴15集在线观看| 三年大片免费完整版电视剧有哪些| 《武则天风流艳史》在线播放| 至尊瞳术洛清瞳免费漫画| 漂亮妈妈7巴字| 《丈夫邀部长来家吃饭》日剧中文版2. | 人民的名义20集| 鲜花盛开的村庄电视剧| 狙击蝴蝶电视剧免费观看完整版 | 桔子在线观看免费高清电视剧| 赶尸艳谭恐怖电影免费观看高清版| 小鼠波波126集全集| 光辉岁月粤语发音| 韩剧玻璃之城国语版| 电影种马猎场在线观看| 高清一级方程式:疾速争胜 第八季| 《朋友夫妇:交换》2电影| 铜铜钢锵锵锵在线观看| 《手机》免费观看全集| 高清K-POP:猎魔女团未删减| 欧美伦理电影,精彩程度满天星!《V酒店第一季》1 - 3集 | 于无声处电视剧下载| 007女版满天星| 你微信时很美电视剧免费观看| 脱口秀大会第四季免费观看完整版| 发国少女6| 三d玉蒲团| 分手后我成全球顶流全集免费| 毒妃不好:王爷别惹全集免费| 《初体验5》在线观看完整免费版电视 | 古代掌柜:开店赚遍全京城短剧全集| 男女愁愁愁免费观看电视剧| 越冬泡菜文化| 《东宫》电视剧免费观看西瓜影院| 我的老婆轮流交换经历| 花与蛇3之牙医| 妖精的尾巴第二季| 新版还珠格格之燕儿翩翩飞| 背着善宰跑电视剧免费观看| 红蝎子3之妖惑人心| 《森林》在线播放麦乐迪| 史前星球第二季| 电视剧怒放| 仁粹大妃| 巜变态性刑房3| 完美有多完美免费观看电影| 老版本快播下载| 神机妙算刘伯温第七单元| 飞刀问情高清| 帝皇侠大电影| 罗莉的时间| eeUsS| 先结婚后恋爱电视剧| 仁心解码2 国语版| 早见晚爱| 玫瑰的故事首播5集| 高压监狱法版1时43分| 摸金校尉之九幽将军电影免费播放| 重生之毒妃飒爆了全集免费| 星际迷航3超越星辰迅雷下载| 《恶犬》短剧全集| 善良的的瘦子5HD演员表| 姐姐恋爱吧!| 特朗普与哈里斯首辩倒计时| snis-531| 终结者在线观看| 飞哥大英雄23集| 徐闻县| 全红婵蒙特利尔决赛回放| 母亲主动给孩子降火好吗| 朋友的女朋友中语版在看| 战狼6欧式少女一共多少集| 《误杀3》大结局| 东宫西宫| 莉娜安德森在线| 巴基斯坦地图中文版| 穿靴子的猫国语版| 爱我几何神马影院| 为歌而赞第二季在哪看| 麦乐迪家庭矛盾在线观看| 进击的巨人真人版后篇| 安达莉子| 束博游戏全集| 黑洞电视剧全集| 我们彼此相爱泰剧在线观看免费| 2008新金银5国语版全集演员表| 中国梦我的梦网络视听年度盛典| 三万英尺的暗恋免费观看完整版| 我的孩子我的家在线观看| 那刻的怦然心动| 花与罪电影在线观看免费高清完整版| 战狼6免费观看完整下载| 日本混血大学生按摩电影| 1996年杨思敏版新剧大全| 卧鱼在线观看免费全集高清完整版| 韩国年轻子1| 日本战狼4免费完整版| 初缠恋后的二人世界| 而立之年电视剧全集| 《黛比达拉斯》1978| 毕节市| 修理公艳遇之手中2完整版| oh透明人间| 碧海雄心| 向涟苍士献上纯结| 银瓶梅电视剧第5集电视剧在线观看下| 和部长一起出差在线播放| 金瓶梅2电影| 超级艳遇| 饕餮记电视剧在线观看 | 祖母和おばあちゃん的区别| 高级女特工理伦片在线观看大全| 免费完整版| 感恩自然作文| 两个母亲中字ID| 一见终情短剧免费观看全集高清版| 2001太空漫游免费| 战狼16欧式少女版资源百度云| 画江湖之换世门生第二季在线观看| 道士下山免费| 高清《慕尼黑》| 村枝(高清版)| 哈利波特2迅雷下载| 黄圣依 乳晕门| 《需要爸爸播种美国》英文版资源| 《东北警察故事3》| 觉醒年代一共多少集| 滨州市| jjzz日本18| 恋爱前规则| 高清后座未删减| 新员工2在线观看完整版电影| 三妹在线观看免费观看| 三大队电影免费抢先观看| 特殊按摩精油3的功能主治与使用| 灌篮高手第二部1| 焦急的罗曼史电视剧在线看| 双栖间谍| 蛇王波后彭丹国语版免费| 雪豹12| 全能少女力挽狂澜短剧| 禁止的爱:善良的小峓子在钱止| 下一站婚姻全集| 欲望的岛屿| 夫妻那点事免费看正片在线观看| 北越暴行女民兵1-3集全| 小品有钱了| 凯·帕克《甜心》| 妖精的尾巴之百年任务| 名侦探柯南557| 钢琴家在线观看免费完整版电影 | 欲望校园车永莉完整电影在线看视频| 千山暮雪百度影音| 再用点力今晚随你弄| 兰花草在线观看高清完整版国语| 电视剧 追踪| 还珠格格天上人间| 《电梯里的拥挤》电影免费观看| 韩“慰安妇”想见佩洛西被警卫推倒| 。双女任务| 我的幸福婚姻| 杨利伟是神州几号| 梅花巾 电影| 乡村爱情7免费全集播放| 电影免费观看高清完整版在线观| 侯门嫡女:谋略乾坤短剧全集| 地狱奶奶| 亲爱的妈妈3免费播放| 法版风女管家2008版电影| 大耳朵图图5部全集| 奥林匹克星传| 非洲和尚| 艺校女学生滋味1~10| 《半妖倾城》| 高清《天下烘焙》| 我爱几何电影完整版免费观看| 韩“慰安妇”想见佩洛西被警卫推倒| 日本电影出差3| 蝴蝶之吻 蓝燕| 电视剧白发魔女| 《卖房子的女销售》A片| 脾虚嘴唇有什么症状| 美国女儿要爸爸播种电影免费观看| 008电影网| 助理2| 《欺诈游戏》| 五福临门电视剧分集剧情| 西游记新版动画片| 你的名字在线观看免费高清完整版| 爱情睡醒了28| 末日危途2| 电视剧金瓶梅在哪里看| 贩母考案| 绝品赘婿出山冷笑天电视剧在线观看 | 禁止想象韩国电影原唱完整版| 《家庭矛盾/分歧4》麦乐迪欧美剧 | 黑蔷薇夫人| 除却巫山邓家佳片段| 高清《牧马人》电影完整版| 美女收藏家| 一起嗟嗟嗟30分钟免费观看视频| 猪猪侠超级棒棒糖| 站着再来一次30集全免费| 太极张三丰| 年少轻狂| 普京抵达人民大会堂| 男生女生一愁愁愁电视剧在线观看30分钟| 母与子国语免费观看大全电视剧武则 | 林一的未来官场小说| 八尺夫人满天星英语翻译版| 我为卿 狂百度影音| 谭晶 我是歌手| 水鬼电影| 侏罗纪公园5| 黑白配免费播放高清完整版| 危险小胰子| 湄公河行动免费完整版| 荣誉电视剧| 易烊千玺抱胖虎女儿| 一个软妹三个糙汉| 莉娜安德森| 使徒行者4| 年轻的妈妈免费| 长相思第二季全集免费完整版| 恶灵骑士2在线看| 战狼6欧美版完整资源百度云| 上门推销内衣女销售员2在线播放 美味快递员特殊待遇2在线观看免费高清 | 《真相》在线观看免费| 雏妓在线观看完整版| 遵义市| 插曲的痛60全集免费观看高清版无码 | 小汤圆正式出院| 少妇按摩电影| 阿b哥的一天全集| 孟丽君之再生缘| 陀地驱魔人结局| 父亲的战争插曲| 《美丽妻子替丈夫还债| 渔夫荒淫史记在线完整版免费观看 | 晚星予你| 妻子6免费完整版高清韩剧梦见别人家拉屎 | 瓜达卢佩玫瑰完整版| 请用你的手指打扰我!| 撕裂记忆体| 吴梦梦拍的台湾电影| 别和陌生人跳舞全集| 潜规则 电影| 《圣特罗佩姑娘们》在线观看| 想要爸爸播种手机播放| 吸血鬼日记第二季| 冷宫娘娘有喜啦| 疯狂动物城英语版免费| 宝贝腿开大点我添添摸摸免费视频| 混血的摇篮曲1973正版播放| 电影《姐妹牙医》完整版在线播放| 8090三个人的冬季恋歌| 肖申克的救赎国语版| 真爱墨菲定律泰剧在线观看| 中国好声音第四季冠军| 黑帮老大的365天第三季免费观看 酒店出水激战1-5集免费 | 杨馥宇变形计| 怪侠欧阳德剧情分集介绍| 刻命裕也| 状志凌云满天星无删减版| 疯狂动物城电影英文| 白鹿王星越《唐宫奇案》免费观看| 欢乐喜剧人下载| 高清《韩国财阀》免费播放| 旋风小子国语| 公之浮之中字1| 乔西的虎与鱼| 宝石宠物第二季| 嗅觉神探| 电视剧大明风华62全集免费观看| 刚结婚和部长一起去出差旅| 国产在线观看免费全集电视剧网站| 都市外乡人电视剧| 《唐朝诡事录2》| 钢之炼金术师fa60| 女人泪40集电视剧| 托里县| 女律师的堕落电影在线观看| 溏心风暴3粤语下载| 李艾走光| 画心师免费观看全集20| 小敏家免费全集| 棋牌| 小辣椒3结局| 二十不惑2电视剧免费播放完整版| 灌篮高手百度影音| 恶魔的艺术2:邪降恐怖电影| 你巅峰时我退让你衰老时我骑脸| 天长市| 《零度暧昧》免费全集| 魔女2:另一个她在线观看| 云菲菲邂逅伴奏| 成龙历险记第四季| 死亡笔记1| 泗水县| 两个母亲中字ID演员表| 江波亮电影大全在线观看| 好运连连旺全家:锦鲤少女全集免费| 高清暗恋者的救赎未删减| 男士美容院| 莫妮卡经典电影全集| 在线观看私人航空| 《房屋销售的秘密》2 | 人世间49集电视剧全集免费观看| 品味人生在线观看免费高清电视剧坎| 丰满女学生3| 欢乐元帅全集| 呼啸山庄全集观看| 少女免费观看完整电视电影| 富爸爸大预言| 双女任务免费观看完整版全集| 夫妻的世界完整版| 《超宇宙刑事卡邦 无限》| 唐人街探案2免费观看高清版| 斗罗大陆全集免费观看完整版动漫 | 快播lunli| 高清《狼人游戏》歌曲原唱| 无尽的尽头电视剧免费看的| 深海利剑全集| 金牌销售经理2| 和部长出差电影| 男装校草:迷倒女生全集免费| 新员工韩剧| 三国95| 陕西秦腔丑角戏| 牧神记第二季| 木下凛凛子人妻未删版 | 了不起的盖茨比 高清| 契约宠妻:总裁超会撩全集免费| 牙医姐妹1986在线观看| 《需要爸爸播种》英文名怎么写| 大内密探00性性| 仙剑奇侠传3 38集| 战锤40k电影在线观看完整版| 法国电影墨菲定律| 丹麦女孩未删减版| 夫妻成长日记电影| 无限春光27 豆瓣| 女性治疗营1| 电视剧特别行动| 最强大脑第八季免费观看完整版| 兽人免费观看完整版| 新金银悔1—5普通话免费| 我要爸爸播种子在缐| 如果声音有记忆免费观看完整版| 韩国《女员工的滋味》在线观看| 安德鲁貂| 我的留级岳父| 《爱你几何》高清全集免费看| xl司令动漫全集在线观看真人| 南海战事今天最新消息| 出差期间遭前男友多次侵犯日韩电影在线观看 | 年轻的母亲在钱中字| 电视剧金战| 求婚大作战日剧| 使徒行者1张家辉电影版| 《战狼6》免费观看| 男女在一起愁愁愁免费观看电视剧 | 黛恩的爱情故事在线观看| 生化危机4:战神再生| 一起愁愁愁30分钟免费观看电视| 韩国售楼小姐美景之屋| 《新三国》| 禽我无删减版在线观看| ova夕颜动漫在线观看| 菲律宾美人鱼50集国语| 《私人航空》电影在线观看| 女儿的复仇的啄木鸟续集| 广场舞阿拉伯之夜|