久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于原子stm32 dma詳細講解
[打印本頁]
作者:
1382070903
時間:
2017-8-4 18:53
標題:
基于原子stm32 dma詳細講解
基于正點原子Stm32f103DMA詳細介紹
By 小澤
(1)DMA通俗的講就是可以將一個區域的數據復制到另一個區域來,可為cpu減負。
以下是STM32F103DMA的特點:
(2)stm32f103大容量芯片中具有兩個DMA,DMA1具有7個不同的通道DAM2有5個通道,當選擇好固定的通道時,所選擇的外設也就固定了。
以下是通道對應的具體外設:
(3)DMA的操作大致分為3步,涉及4個重要的寄存器
第一步:在DMA_cpar寄存器中選擇外設基地址作為傳輸的源頭或目標
具體寄存器列表如下:
第二步:在DMA_cmar寄存器中選擇存儲器基地址作為傳輸的目標或源頭
具體寄存器列表如下:
第三步:在通道配置寄存器(dma_ccrx)中的DIR寄存器中設置傳輸方向
當其設置為0時將外設設為目標源,當其設置為1時將存儲器設為目標源
具體寄存器操作如下:
PS:每傳送一次數據執行一次DAM_cndtr(數據傳輸量)寄存器遞減操作,所以該寄存器包含尚未完成的操作項目(cndtr只能在dma_ccrx的en=0時寫入)。
(4)其他的一些重要寄存器:
1.DMA_ccrx中的pl寄存器,該寄存器充當仲裁器可為每個通道配置優先等級
2.DMA_ccrx中有msize和psize寄存器分別設置存儲器和外設的數據寬度
當寬度一致時很好理解,當不一致的時候需要參考該表
3.DMA_ccrx中的minc和pinc寄存器分別用來開啟存儲器和地址的指針增量
4.DMA_ccrx寄存器中的circ寄存器用于設置循環模式,當一次數據傳輸完成
后,還可以無限多次的傳輸數據。
5.DMA_ccrx中有MEM2MEM寄存器用來開啟存儲器到存儲器的數據傳輸,一
旦開啟這個模式,將不能再使用循環模式
(4)中斷:半傳輸標志位(HTIF),傳輸完成標志位(TCIF),傳輸錯誤標志(TEIF)
(5)關于DMA配置問題怎么快速找到外設使能函數:
在FWLIB下找到相應的“xx.c”文件 在里面直接搜索DMA即可
其實外設地址也可以設置為你定義的內存基地址
Dst就是將所謂的外設基地址設置為目標
Src就是將所謂的外設基地址設置為源頭
設置cndtr寄存器,可查看剩余的數據
可以設置外設或寄存器地址自增與否
是否開啟循環模式
(7)一定要開啟相應外設的時鐘
由這段代碼可以清晰看到是要發送的字節長度,是要發送的數據量,所以要發送的數據量為(8200*8bit
)這兩者是有區別的為了進一步佐證我的想法我查看的buffsize的具體數值
0x10000轉化為10進制為65536 說明我的想法是正確的。
注意事項。。!一定要注意。。。。
(1)一旦開始存儲到存儲之間的數據傳輸,不能開啟連續轉換模式
(2)cndtr只能在dma_ccrx的en=0時寫入對應的具體代碼
(3)一定要開啟相應外設的時鐘
(4)就是我在上面說過的關于buffsize的問題 ,一定要區分好字節和數據
2017 .8.3
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
不卡视频一区二区三区
|
成人av电影网
|
日韩伦理一区二区
|
亚洲一区二区精品视频
|
久久大
|
欧美电影免费网站
|
午夜色播
|
中文字幕高清av
|
日韩成人免费av
|
亚洲一级在线
|
99精品99久久久久久宅男
|
日日夜夜精品
|
国产情侣久久
|
色视频在线播放
|
精品久久久久久亚洲精品
|
免费国产视频
|
中文字幕福利
|
一区二区三区四区不卡
|
国产精品视频导航
|
国产日韩一区二区三区
|
黄色一级大片视频
|
欧美精品一区二区免费
|
99在线播放
|
国产一区不卡
|
自拍偷拍一区二区三区
|
色婷婷国产精品
|
99精品欧美
|
亚洲精品视频一区二区三区
|
亚洲人免费视频
|
成人网视频
|
久久一久久
|
亚州精品天堂中文字幕
|
四季久久免费一区二区三区四区
|
欧美国产精品
|
香蕉一区
|
欧美色综合
|
黑人久久
|
国产精久久久久久久妇剪断
|
亚洲精品久久久久久久久久吃药
|
亚洲三级视频
|
婷婷久久久久
|