日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

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

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

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

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

            

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

            DMA初步

            DMA有什么用?

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

            有多少個(gè)DMA資源

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

            數(shù)據(jù)從什么地方送到什么地方?

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

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

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

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

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

            DMA可以傳遞多少數(shù)據(jù)?

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

            通道是如何分配的?

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

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

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

            

            如何來(lái)用DMA?

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

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

            ……

            DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)TIM1_CCR3_Address;

            //設(shè)定外圍設(shè)備的地址

            DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)SRC_Buffer;

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

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

            DMA_InitStructure.DMA_BufferSize = 3; //緩沖區(qū)大小

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

            DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; //內(nèi)存地址增量控制

            DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;

            DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;

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

            */

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




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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉