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

當前位置:首頁 > 單片機 > 單片機
[導讀]DMA可以認為連接兩個“地址”數(shù)據(jù)通道。DMA共享系統(tǒng)總線,不占用CPU,所以可以實現(xiàn)快速數(shù)據(jù)傳輸。這里以DMA連接存儲器(數(shù)組)和串口(USART1->DR)為例。1 void DMA_init(void)2 {4 RCC->AHBENR|=1DR;//讀外設串口數(shù)據(jù)

DMA可以認為連接兩個“地址”數(shù)據(jù)通道。DMA共享系統(tǒng)總線,不占用CPU,所以可以實現(xiàn)快速數(shù)據(jù)傳輸。

這里以DMA連接存儲器(數(shù)組)和串口(USART1->DR)為例。


1 void DMA_init(void)

2 {

4 RCC->AHBENR|=1<<0;//時能DMA1時鐘

5

7 DMA1_Channel4->CPAR=(u32)&USART1->DR;//讀外設串口數(shù)據(jù)寄存器

8 DMA1_Channel4->CMAR=(u32)tbuff;//存儲器地址為temp地址

9 DMA1_Channel4->CNDTR=10;//一次接收字節(jié)數(shù)DMA_BUFF_SIZE

11 //DNA->CCR配置

12 DMA1_Channel4->CCR=0x00000000;//復位DMA

13 DMA1_Channel4->CCR|=0<<14;//非存儲器到存儲器模式

14 DMA1_Channel4->CCR|=1<<12;//13,12設置通道優(yōu)先級

15 DMA1_Channel4->CCR|=0<<10;//10,11存儲器數(shù)據(jù)寬度

16 DMA1_Channel4->CCR|=0<<8;//9,8外設數(shù)據(jù)寬度8位

17 DMA1_Channel4->CCR|=1<<7;//存儲器地址增量模式

18 DMA1_Channel4->CCR|=0<<6;//外設地址增量模式

19 DMA1_Channel4->CCR|=0<<5;//循環(huán)模式

20 DMA1_Channel4->CCR|=1<<4;//數(shù)據(jù)傳輸方向0:從外設讀,即從外設到存儲器 1:從存儲器讀,即從存儲器到外設

21 DMA1_Channel4->CCR|=0<<3;//允許傳輸錯誤中斷

22 DMA1_Channel4->CCR|=0<<2;//允許半傳輸中斷

23 DMA1_Channel4->CCR|=0<<1;//允許傳輸完成中斷

24 DMA1_Channel4->CCR|=0<<0;//通道開啟

25 }


28 int main(void)

29 {

31 Stm32_Clock_Init(9); //系統(tǒng)時鐘設置

32 delay_init(72); //延時初始化

33 uart_init(72,9600); //串口初始化為9600

34 LED_Init(); //初始化與LED連接的硬件接口

35 DMA_init();

36 LED0=0;

37

38 USART1->CR3|=1<<7;//記得要把串口配置為DMA使能,否則DMA不會工作

39 while(1)

40 {

41

42 DMA1_Channel4->CCR&=~(1<<0);

43 DMA1_Channel4->CNDTR=10;

44 DMA1_Channel4->CCR|=1<<0;

45

46 while(1)

47 {

48 if(DMA1->ISR&(1<<13))

49 {

50 delay_ms(100);

        LED0=~LED0;

51 DMA1->IFCR|=1<<13;

52 break;

53 }

54 }

55 }

56 }


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉