在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STM32自帶PWM輸出實驗

            STM32自帶PWM輸出實驗

            作者: 時間:2016-11-30 來源:網(wǎng)絡 收藏
            #include
            #include "sys.h"
            #include "delay.h"
            #include "usart.h"

            #define LED0_val TIM3->CCR2

            void PWM_init(u16 arr,u16 psc)
            {
            RCC->APB1ENR|=1<<1; //TIM3時鐘使能
            GPIOA->CRH&=0xfffffff0; //PA8
            GPIOA->CRH|=0x00000004; //PA8 浮空輸入
            GPIOA->CRL&=0x0fffffff;
            GPIOA->CRL|=0xB0000000; //PA7復用輸出
            GPIOA->ODR|=1<<7; //PA7上啦
            TIM3->ARR=arr; //設置重裝載值
            TIM3->PSC=psc; //設置預分頻系數(shù)
            TIM3->CCMR1|=7<<12; //CH2 PWM2模式
            TIM3->CCMR1|=1<<11; //CH2預裝載使能
            TIM3->CCER|=1<<4; //OC2輸出使能
            TIM3->CR1|=0x0080; //ARPE使能
            TIM3->CR1|=0x01; //使能定時器3
            }

            int main(void)
            {
            u16 pwm=0;
            u8 dir=1;
            Stm32_Clock_Init(9);
            delay_init(72);
            uart_init(72,9600);
            PWM_init(900,0); //頻率72000/900 80KHZ

            while(1)
            {
            delay_ms(10);
            if(dir)pwm++;
            else pwm--;
            if(pwm>300)dir=0;
            if(pwm==0)dir=1;
            LED0_val=pwm;
            }
            }


            void PWM_init(u16 arr,u16 psc)函數(shù)解析:
            GPIOA->CRL&=0x0fffffff;
            GPIOA->CRL|=0xB0000000; //PA7復用輸出 因為TIM3_CH2 通道是I/O口復用的形式連接到PA7上的
            TIM3->ARR; //設置自動重裝載值
            TIM3->PSC; //設置分頻系數(shù)
            TIM3->CCMR1|=7<<12; //CH2 PWM2模式
            CCMR1用于控制CH1 和CH2通道






            由于7=0x111;

            所以OC1M[2:0]為

            本文引用地址:http://www.biyoush.com/article/201611/323885.htm
            111:PWM模式2- 在向上計數(shù)時,一旦TIMx_CNTTIMx_CCR1時通道1為有效電平,否則為無效電平。
            默認為高電平有效

            數(shù)模式是 TIM3_CR1 中 位4決定
            位4 0:計數(shù)器向上計數(shù); 1:計數(shù)器向下計數(shù)。
            默認為向上計數(shù)模式
            定時器的值從0-----> TIM->ARR 到自動裝載值 循環(huán)變化
            //---------------------------------------------------------------------------------------
            TIM3->CCMR1|=1<<11; //CH2預裝載使能
            TIM3->CCER|=1<<4; //OC2輸出使能


            CC2E:輸入/捕獲1輸出使能 (Capture/Compare 1 output enable)
            CC2通道配置為輸出: 0: 關閉- OC1禁止輸出。 1: 開啟- OC2信號輸出到對應的輸出引腳。
            CC2通道配置為輸入: 該位決定了計數(shù)器的值是否能捕獲入TIMx_CCR1寄存器。 0:捕獲禁止; 0:捕獲使能。

            TIM3->CR1|=0x0080; //ARPE使能

            ARPE:自動重裝載預裝載允許位 (Auto-reload preload enable)
            0:TIMx_ARR寄存器沒有緩沖; 1:TIMx_ARR寄存器被裝入緩沖器。

            //



            關鍵詞: STM32PWM輸出實

            評論


            技術專區(qū)

            關閉