<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 工程師STM32單片機學(xué)習基礎手記(4):用PWM實(shí)現熒火蟲(chóng)燈(五)

工程師STM32單片機學(xué)習基礎手記(4):用PWM實(shí)現熒火蟲(chóng)燈(五)

作者: 時(shí)間:2013-05-11 來(lái)源:網(wǎng)絡(luò ) 收藏
按SW方式來(lái)調試

  
工程師STM32單片機學(xué)習基礎手記(4):用PWM實(shí)現熒火蟲(chóng)燈(五)
  1腳不接時(shí)出現的畫(huà)面

  

工程師STM32單片機學(xué)習基礎手記(4):用PWM實(shí)現熒火蟲(chóng)燈(五)

  DMA初步

  DMA有什么用?

  直接存儲器存取用來(lái)提供在外設和存儲器之間或者存儲器和存儲器之間的高速數據傳輸。無(wú)須CPU的干預,通過(guò)DMA數據可以快速地移動(dòng)。這就節省了CPU的資源來(lái)做其他操作。

  有多少個(gè)DMA資源

  有兩個(gè)DMA控制器,DMA1有7個(gè)通道,DMA2有5個(gè)通道。

  數據從什么地方送到什么地方?

  外設到SRAM(I2C/UART等獲取數據并送入SRAM);

  SRAM的兩個(gè)區域之間;

  外設到外設(ADC讀取數據后送到TIM1控制其產(chǎn)生不同的占空比);

  SRAM到外設(SRAM中預先保存的數據送入DAC產(chǎn)生各種波形);

  ……還有一些目前還搞不清楚的。

  DMA可以傳遞多少數據?

  傳統的DMA的概念是用于大批量數據的傳輸,但是我理解,在中,它的概念被擴展了,也許更多的時(shí)候快速是其應用的重點(diǎn)。數據可以從1~65535個(gè)。

  通道是如何分配的?

  見(jiàn)下面的這個(gè)表:

工程師STM32單片機學(xué)習基礎手記(4):用PWM實(shí)現熒火蟲(chóng)燈(五)  

工程師STM32單片機學(xué)習基礎手記(4):用PWM實(shí)現熒火蟲(chóng)燈(五)

  

  如何來(lái)用DMA?

  確定數據來(lái)源,確定數據目的地,選擇使用哪個(gè)通道,設定傳輸多少個(gè)數據,設定數據傳遞模式等等就可以了。且讀一下提供給我們的例子。

  //////////////////////////////////////////

  ……

  DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)TIM1_CCR3_Address;

  //設定外圍設備的地址

  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)SRC_Buffer;

  //設定內存地址,SRC_Buffer是前面定義的一個(gè)數組

  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; //方向控制

  DMA_InitStructure.DMA_BufferSize = 3; //緩沖區大小

  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外圍地址增量控制

  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; //內存地址增量控制

  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;

  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;

  //DMA_PeripheralDataSize_HalfWord的值為0x100,后一個(gè)為0x400,在在stm32f10x_dma.h中定義,用于決定存儲器數據寬度

  */

pwm相關(guān)文章:pwm原理




關(guān)鍵詞: STM32 單片機 PWM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>