久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2677|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于原子stm32 dma詳細(xì)講解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:224778 發(fā)表于 2017-8-4 18:53 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
基于正點(diǎn)原子Stm32f103DMA詳細(xì)介紹
          By 小澤
(1)DMA通俗的講就是可以將一個(gè)區(qū)域的數(shù)據(jù)復(fù)制到另一個(gè)區(qū)域來,可為cpu減負(fù)。
以下是STM32F103DMA的特點(diǎn):



(2)stm32f103大容量芯片中具有兩個(gè)DMA,DMA1具有7個(gè)不同的通道DAM2有5個(gè)通道,當(dāng)選擇好固定的通道時(shí),所選擇的外設(shè)也就固定了。
以下是通道對應(yīng)的具體外設(shè):



(3)DMA的操作大致分為3步,涉及4個(gè)重要的寄存器
第一步:在DMA_cpar寄存器中選擇外設(shè)基地址作為傳輸?shù)脑搭^或目標(biāo)
具體寄存器列表如下:

第二步:在DMA_cmar寄存器中選擇存儲器基地址作為傳輸?shù)哪繕?biāo)或源頭
具體寄存器列表如下:

第三步:在通道配置寄存器(dma_ccrx)中的DIR寄存器中設(shè)置傳輸方向
當(dāng)其設(shè)置為0時(shí)將外設(shè)設(shè)為目標(biāo)源,當(dāng)其設(shè)置為1時(shí)將存儲器設(shè)為目標(biāo)源
具體寄存器操作如下:

PS:每傳送一次數(shù)據(jù)執(zhí)行一次DAM_cndtr(數(shù)據(jù)傳輸量)寄存器遞減操作,所以該寄存器包含尚未完成的操作項(xiàng)目(cndtr只能在dma_ccrx的en=0時(shí)寫入)。



(4)其他的一些重要寄存器:
1.DMA_ccrx中的pl寄存器,該寄存器充當(dāng)仲裁器可為每個(gè)通道配置優(yōu)先等級

2.DMA_ccrx中有msize和psize寄存器分別設(shè)置存儲器和外設(shè)的數(shù)據(jù)寬度


當(dāng)寬度一致時(shí)很好理解,當(dāng)不一致的時(shí)候需要參考該表



3.DMA_ccrx中的minc和pinc寄存器分別用來開啟存儲器和地址的指針增量


4.DMA_ccrx寄存器中的circ寄存器用于設(shè)置循環(huán)模式,當(dāng)一次數(shù)據(jù)傳輸完成
后,還可以無限多次的傳輸數(shù)據(jù)。


5.DMA_ccrx中有MEM2MEM寄存器用來開啟存儲器到存儲器的數(shù)據(jù)傳輸,一
旦開啟這個(gè)模式,將不能再使用循環(huán)模式



(4)中斷:半傳輸標(biāo)志位(HTIF),傳輸完成標(biāo)志位(TCIF),傳輸錯(cuò)誤標(biāo)志(TEIF)

(5)關(guān)于DMA配置問題怎么快速找到外設(shè)使能函數(shù):
在FWLIB下找到相應(yīng)的“xx.c”文件 在里面直接搜索DMA即可




其實(shí)外設(shè)地址也可以設(shè)置為你定義的內(nèi)存基地址



Dst就是將所謂的外設(shè)基地址設(shè)置為目標(biāo)
Src就是將所謂的外設(shè)基地址設(shè)置為源頭



設(shè)置cndtr寄存器,可查看剩余的數(shù)據(jù)



可以設(shè)置外設(shè)或寄存器地址自增與否


是否開啟循環(huán)模式




(7)一定要開啟相應(yīng)外設(shè)的時(shí)鐘



由這段代碼可以清晰看到是要發(fā)送的字節(jié)長度,是要發(fā)送的數(shù)據(jù)量,所以要發(fā)送的數(shù)據(jù)量為(8200*8bit
)這兩者是有區(qū)別的為了進(jìn)一步佐證我的想法我查看的buffsize的具體數(shù)值

0x10000轉(zhuǎn)化為10進(jìn)制為65536 說明我的想法是正確的。






注意事項(xiàng)!!!!一定要注意!!!!!
(1)一旦開始存儲到存儲之間的數(shù)據(jù)傳輸,不能開啟連續(xù)轉(zhuǎn)換模式
(2)cndtr只能在dma_ccrx的en=0時(shí)寫入對應(yīng)的具體代碼

(3)一定要開啟相應(yīng)外設(shè)的時(shí)鐘
(4)就是我在上面說過的關(guān)于buffsize的問題 ,一定要區(qū)分好字節(jié)和數(shù)據(jù)




                                                                       2017 .8.3
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 911影院 | 91精品国产综合久久久密闭 | 国产精品不卡视频 | 欧美性a视频 | 亚洲精品1区 | 精品日韩一区二区三区av动图 | 国产免费av网 | 国产有码| 亚洲在线一区 | 狠狠干综合视频 | 欧美日韩视频在线 | 成人在线一区二区 | 日本一区二区三区四区 | 中国三级黄色录像 | 国产精品久久国产精品 | 丁香六月伊人 | 精品国产乱码久久久久久丨区2区 | 成人激情视频免费观看 | 日本成人在线网址 | 国产亚洲一区二区在线观看 | 二区久久| 久久999 | 国产精品高潮呻吟 | 精品国产一区二区三区性色av | 日韩av在线一区二区 | 免费成人毛片 | 久久国产精品一区二区三区 | 成人精品一区二区 | 亚洲资源站| 性国产xxxx乳高跟 | 久久久久国产一区二区三区四区 | 色综合久久久久 | 免费看黄色小视频 | 日日碰碰| 亚洲天堂中文字幕 | 一区二区三区四区电影视频在线观看 | 亚洲综合99 | 99久久婷婷国产综合精品电影 | 久久青视频| 天天射影院 | m豆传媒在线链接观看 |