新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 淺談STM32的DMA模塊的使用

淺談STM32的DMA模塊的使用

作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
下面就以我的一個(gè)實(shí)例來和大家一起學(xué)習(xí)。這個(gè)實(shí)例仿真是成功的,我使用的是IAR Embedded Workbench IDE(v4.42)和Manley Mini-kit評(píng)估板+ST-Link II來調(diào)試,是一個(gè)USART+ADC+DMA的例子。

首先,按照相關(guān)的資料提示,建立好項(xiàng)目路徑、拷貝庫(kù)文件和相關(guān)必要的文件,并建立一個(gè)新工程;還有就是設(shè)置好IAR IDE的相關(guān)設(shè)置。一切準(zhǔn)備就緒后就開始修改相關(guān)的文檔:

本文引用地址:http://butianyuan.cn/article/201611/322982.htm

conf.h文檔的修改是根據(jù)應(yīng)用中有啟用的相關(guān)功能Module。如下圖:

ADC模塊的啟用設(shè)置:

DMA模塊的啟用設(shè)置:

USART模塊啟用的設(shè)置:

其他的如flash、GPIO、RCC、NVIC、HSE等就不一一舉例,因?yàn)檫@些幾乎每個(gè)工程都要用到。

再回頭看看我的main.c文檔,

下圖是相關(guān)的私有定義

USART的配制如下(9600,8,N,1):

DMA的配置如下:

ADC的配置如下圖(采用了2路A/D多通道的ADC模式):

給各個(gè)模塊配置的時(shí)鐘使能如下圖;在此想羅嗦一句就是在這個(gè)位置的設(shè)置我沒有給DMA配置時(shí)鐘,造成DMA功能無法正常使用,也就是前面所有說的與我原先的編程風(fēng)格有較大的變化的原因,想說一句:在項(xiàng)目中所使用的所有功能模塊都要在此配置時(shí)鐘才能正常工作。

GPIO的配置

如果有開中斷子程序,請(qǐng)?jiān)谠贜VIC中配置,還可以定義每個(gè)中斷子程序的優(yōu)先級(jí)別,由于我的工程沒有用到,在此就不羅嗦了。


上一頁 1 2 下一頁

關(guān)鍵詞: STM32DMA模

評(píng)論


技術(shù)專區(qū)

關(guān)閉