日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] STM32外設(shè)DMA使用總結(jié):1、根據(jù)需要選擇DAM模式:(1)循環(huán)模式—DMA_Mode = DMA_Mode_Circular(2)正常模式—DMA_Mode = DMA_Mode_Normal2、對(duì)于DMA1的Chanel3,對(duì)應(yīng)外設(shè)為USART3的RX試想:如果串口接收中

STM32外設(shè)DMA使用總結(jié):

1、根據(jù)需要選擇DAM模式:
(1)循環(huán)模式—DMA_Mode = DMA_Mode_Circular
(2)正常模式—DMA_Mode = DMA_Mode_Normal

2、對(duì)于DMA1的Chanel3,對(duì)應(yīng)外設(shè)為USART3的RX
試想:如果串口接收中斷和DAM中斷同時(shí)打開(kāi),CPU如何相應(yīng)?
(1)中斷優(yōu)先級(jí)不同:這好說(shuō),支持嵌套中斷(NVIC)的Cortex-M3自然優(yōu)先服務(wù)中斷優(yōu)先級(jí)高的
(2)中斷優(yōu)先級(jí)相同:處理原則,先來(lái)先處理;若同時(shí)到來(lái),中斷號(hào)低的優(yōu)先處理
查詢手冊(cè)可知,DMA(IRQn number 13)會(huì)先于USART3(39)被CPU處理

3、設(shè)置DMA模式為循環(huán)模式,則:
(1)只開(kāi)DMA中斷,關(guān)閉外設(shè)中斷,將只進(jìn)一次DMA服務(wù)函數(shù)
(2)開(kāi)啟DMA中斷,開(kāi)啟外設(shè)中斷,才會(huì)循環(huán)進(jìn)DMA服務(wù)函數(shù)

4、在開(kāi)啟多個(gè)DMA中斷時(shí),注意每個(gè)中斷的優(yōu)先級(jí)設(shè)置

5、在中斷函數(shù)中,禁止DMA使能后要重新設(shè)置DMA傳輸數(shù)據(jù)量大小并開(kāi)啟DMA

void DMA1_Channel3_IRQHandler(void)

{

if(DMA_GetITStatus(DMA1_FLAG_TC3))

{

DMA_ClearITPendingBit(DMA1_IT_GL3);

/* 處理數(shù)據(jù)期間關(guān)閉DMA,防止數(shù)據(jù)篡改 */

DMA_Cmd(DMA1_Channel3, DISABLE);

/* 處理數(shù)據(jù) */

/* 重新設(shè)置DMA傳輸數(shù)據(jù)量大小并開(kāi)啟DMA */

DMA1_Channel3->CNDTR = DMA_CH3_RECV_BYTES;

DMA1_Channel3->CCR |= DMA_CCR3_EN;

}

}


6、DMA配置選項(xiàng):


typedef struct

{

/* 設(shè)置DMA傳輸?shù)耐庠O(shè)基地址,比如USART的DMA傳輸,基地址為(uint32_t)USART3-DR */

uint32_t DMA_PeripheralBaseAddr;

/* 設(shè)置DMA內(nèi)存基地址,存放DMA傳輸數(shù)據(jù)的內(nèi)存地址 */

uint32_t DMA_MemoryBaseAddr;

/* 操作的外設(shè)是源地(從外設(shè)取數(shù)據(jù))、目的地(發(fā)送數(shù)據(jù)到外設(shè)) */

uint32_t DMA_DIR;

/* 一次DMA傳輸數(shù)據(jù)量的大小 */

uint32_t DMA_BufferSize;

/* 外設(shè)地址是否自動(dòng)遞增,比如對(duì)于USART的DMA傳輸,外設(shè)地址是固定的 */

uint32_t DMA_PeripheralInc;

/* 同上,只不過(guò)針對(duì)的是內(nèi)存地址 */

uint32_t DMA_MemoryInc;

/* 設(shè)置外設(shè)數(shù)據(jù)寬度,8bits/16bits/31bits */

uint32_t DMA_PeripheralDataSize;

/* 同上 */

uint32_t DMA_MemoryDataSize;

/* 選擇DAM模式,循環(huán)模式還是正常模式 */

uint32_t DMA_Mode;

/* DMA通道的優(yōu)先級(jí),DMA_Priority_VeryHigh,DMA_Priority_High,DMA_Priority_Medium,DMA_Priority_Low */

/* 如果開(kāi)啟多個(gè)DMA通道的話,記得設(shè)置合適的值 */

uint32_t DMA_Priority;

/* 設(shè)置DMA是否為Mem到Mem模式 */

uint32_t DMA_M2M;

}DMA_InitTypeDef;


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在現(xiàn)代電子設(shè)備中,低功耗設(shè)計(jì)已成為不可或缺的一部分,特別是在便攜式設(shè)備和物聯(lián)網(wǎng)應(yīng)用中。STM32微控制器系列以其高性能和低功耗特性而廣受歡迎。為了實(shí)現(xiàn)更長(zhǎng)的電池壽命,STM32提供了多種低功耗模式,如睡眠模式(Sleep...

關(guān)鍵字: STM32 外設(shè) 低功耗設(shè)計(jì)

假設(shè)手機(jī)只有最基本的功能---打電話發(fā)短信,那么這個(gè)手機(jī)應(yīng)該包括以下幾個(gè)部分,①射頻部分,②基帶部分,③電源管理,④外設(shè),⑤軟件。

關(guān)鍵字: 基帶部分 外設(shè) 軟件

從我們的直觀感受來(lái)說(shuō),DMA并不是一個(gè)復(fù)雜的東西,要做的事情也很單純直白。因此Linux kernel對(duì)它的抽象和實(shí)現(xiàn),也應(yīng)該簡(jiǎn)潔、易懂才是。不過(guò)現(xiàn)實(shí)卻不甚樂(lè)觀(個(gè)人感覺(jué)),Linux kernel dmaengine...

關(guān)鍵字: Linux dma

  吉利dma項(xiàng)目進(jìn)展   為進(jìn)一步擴(kuò)大市場(chǎng)份額和開(kāi)拓大客戶市場(chǎng),吉利汽車擬在梅山島新建整車生產(chǎn)工業(yè)園,本項(xiàng)目總用地面積約1888畝,項(xiàng)目位于寧波市北侖區(qū)東南海濱的梅山島。地塊北側(cè)為七星

關(guān)鍵字: dma 吉利

  吉利品牌包含BMA乘用車在內(nèi)的三大項(xiàng)目此前已宣布落戶成都,預(yù)計(jì)整車總產(chǎn)能將達(dá)60萬(wàn)臺(tái)。近日網(wǎng)通社從成都市發(fā)改委獲悉,吉利正推進(jìn)成都BMA/PMA、寧波梅山DMA基地建設(shè)項(xiàng)目,未來(lái)將投產(chǎn)多款吉

關(guān)鍵字: dma 吉利

什么是8位微控制器STM8L050?它有什么作用?2019年1月16日 - 意法半導(dǎo)體推出了全新的8位微控制器STM8L050的推出,以提升低成本、低功耗8位微控制器(MCU)的功能集成度。作為超高能效的STM8L系列的...

關(guān)鍵字: dma MCU stm8l050

這是一篇指導(dǎo)驅(qū)動(dòng)工程師如何使用DMA API的文檔。

關(guān)鍵字: CPU dma

本文從計(jì)算機(jī)組成原理的層面詳細(xì)介紹了DMA,以及Linux網(wǎng)絡(luò)子系統(tǒng)的DMA機(jī)制是如何實(shí)現(xiàn)的。

關(guān)鍵字: dma Linux 編程

你知道嵌入式驅(qū)動(dòng)程序關(guān)于設(shè)計(jì)層面的技術(shù)嗎?無(wú)論學(xué)習(xí)什么都有需要掌握的要點(diǎn)與竅門,本文我們一起深入了解關(guān)于嵌入式驅(qū)動(dòng)程序關(guān)于設(shè)計(jì)層面的竅門。每一個(gè)嵌入式應(yīng)用軟件都會(huì)在某些時(shí)候訪問(wèn)最底層的固件和進(jìn)行一些硬件控制。 驅(qū)動(dòng)的設(shè)計(jì)...

關(guān)鍵字: dma 嵌入式設(shè)計(jì) usart驅(qū)動(dòng)程序

今天,我將帶您了解Linux內(nèi)存管理。 對(duì)于精通CURD的學(xué)生,內(nèi)存管理似乎離我們還很遠(yuǎn),但是盡管這一知識(shí)點(diǎn)并不熱門(據(jù)估計(jì),很多人在學(xué)習(xí)后不會(huì)再使用它),但這無(wú)疑是基礎(chǔ)。 雖然學(xué)完后沒(méi)有看到即時(shí)的效果,但是它將對(duì)您將來(lái)...

關(guān)鍵字: dma Linux zone
關(guān)閉