国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

ARM入門筆記(7)

發布時間:2010-8-26 17:28    發布者:絕對好文
關鍵詞: ARM入門筆記
串口DMA控制實驗

一.背景

DMA是Direct Memory Access的縮寫,即“存儲器直接訪問”。它是指一種高速的數據傳輸操作,允許在外部設備和存儲器之間直接讀寫數據,即不通過CPU,也不需要CPU干預。整個數據傳輸操作在一個稱為“DMA控制器”的控制下進行的。CPU除了在數據傳輸開始和結束時作一點處理外,在傳輸過程中CPU可以進行其它的工作。這樣,在大部分時間里,CPU和輸入輸出都處在并行操作。因此,使整個計算機系統的效率大大提高。

AT91SAM7S64串口外圍DAM控制器的工作過程:將要發送的數據緩沖區的起始地址賦給串口DMA控制器的發送指針寄存器,再將要發送的字節個數賦給PDC的發送計數寄存器,然后無須 CPU的干預,DMA自動起動串口發送操作,發送完這些數據后又自動停止;同理,只要將接收數據緩沖區的起始地址賦給串口DMA控制器的接收指針寄存器,再將要接收的字節個數賦給PCD的接收計數值,DMA將自動啟動串口接收數據,接收完這些數據后,再通知CPU。

二.實驗目的

驗證上述所描述的串口DMA控制器的工作過程,可用串口調試軟件進行驗證。

三.實驗程序和參數設置

1>連接器選項設置和啟動代碼都與上個實驗相同
2>C語言的代碼

#i nclude "AT91SAM7S64.h"
#i nclude "Board.h"
unsigned char RxBuff[256],TxBuff[256];
int main(void)
{
unsigned int i;
*AT91C_CKGR_MOR = 0x701; //使能主振蕩器和設置起振時間
*AT91C_PMC_MCKR = 0x01;//選擇Mster Clock is main clock, divided by 0  
*AT91C_PMC_SCER = AT91C_CKGR_MOSCEN;//使能系統時鐘寄存器的處理器時鐘
*AT91C_PMC_PCER = AT91C_ID_US0; //使能USART0時鐘
*AT91C_PIOA_PDR = US_RXD_PIN | US_TXD_PIN;//禁止該兩個管腳的I/O口功能
*AT91C_PIOA_ASR= US_RXD_PIN | US_TXD_PIN;//將該兩個I/O口分配給外圍A  
*AT91C_US0_CR = 0x1ac;  //復位接收器和發送器,使能接收與發送,復位狀態位
*AT91C_US1_MR =0x8c0;  //正常模式,時鐘為MCK,8位長度,無校驗,1位停止位,
*AT91C_US0_IDR  = 0xf3fff; //禁止所有UART相關的中斷
*AT91C_US0_BRGR = 30;  //設置波特率為38400Hz,AT91C_US0_BRGR為CD值
*AT91C_US0_CR   = 0x50; //使能發送與接收
*AT91C_US0_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN;//使能US0的PDC 發送與接收
for (i = 0; i    //給發送緩沖區覆值
TxBuff = i;   
} //下面可用單步執行,來觀察現象
*AT91C_US0_TPR = (unsigned int)TxBuff;//覆發送緩沖區起始地址
*AT91C_US0_TCR = 256;    //起動PDC發送256個字節
*AT91C_US0_RPR = (unsigned int)RxBuff;//覆接收緩沖區起始地址
*AT91C_US0_RCR = 256;    //開始PDC接收
while (1);
}

四.總結

我們在用51等單片機的串口進行收發數據時,因為發送與接收共用一個Buffer,所以在發送一字節數據后,通常都要加“while(!TI);”語句,來等待數據發送完畢;在接收數據時都要使用中斷來處理,每當接收到一個字節數據后都要中斷一次CPU。有了DMA這個功能,就不用這樣浪費CPU的時間,可大大的提高CPU的實時性能。
本文地址:http://m.qingdxww.cn/thread-23777-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
長話短說 發表于 2010-9-4 11:31:55
謝了
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲色视频在线播放网站 | 国产一区二区在线观看免费 | 国产a区 | 一二三四社区在线视频社区3 | 久国产视频 | 日韩新片在线观看 | 精品国产日韩一区三区 | 天天激情站 | 亚洲国产成人精品动漫 | 一级做a爰片性色毛片视频图片 | 我的大乳女友小萱h文 | 99热这里只有免费国产精品 | 97免费在线观看视频 | 成在线人永久免费播放视频 | 国产福利不卡一区二区三区 | 日韩精品一区二区在线观看 | 亚洲久草 | 新版天堂资源中文8在线 | 妹天堂在线观看 | 99热这里只有精品8 99热这里只有精品7 | 大又大又粗又爽女人毛片 | 韩国一级特黄清高免费大片 | 成人免费网站视频ww | 国产精品久久久久9999小说 | 日本不卡在线观看免费v | 99久久99热精品免费观看国产 | 99久久免费精品国产免费 | 天天爽天天爽夜夜爽毛片 | 99久久精品费精品国产 | 高傲名媛野外耻辱调教 | 色噜噜狠狠先锋影音久久 | 六月丁香七月婷婷 | 牛牛影视精品一区二区在线看 | 国产99视频精品免费视频免里 | 欧美人成网 | 精品一精品国产一级毛片 | 视频在线一区二区三区 | 两个人免费观看高清在线 | 1000部又爽又黄无遮挡的视频 | 欧美日韩在线免费观看 | 欧美一级视频免费观看 |