<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32單片機(jī)簡(jiǎn)易定時(shí)器PWM輸出

          STM32單片機(jī)簡(jiǎn)易定時(shí)器PWM輸出

          作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏
          由于RCC->CFGR時(shí)鐘配置寄存器中 APB1設(shè)置為2分頻,所以TIM3就是其倍頻==72M

          上次我發(fā)表的STM32單片機(jī)自帶PWM輸出實(shí)驗(yàn)大家可以參考學(xué)習(xí):http://www.51hei.com/mcu/2123.html,這次是用定時(shí)器產(chǎn)生的pwm.
          //----------------------------------定時(shí)器-----------time.c-----------
          #include "time.h"

          void time_init(u16 arr,u16 psc)
          {
          RCC->APB1ENR|=1<<1; //TIM2定時(shí)器時(shí)鐘使能
          TIM3->ARR=arr; //設(shè)置重裝載值
          TIM3->PSC=psc; //設(shè)置分配系數(shù)
          TIM3->DIER|=1<<0; //允許更新
          TIM3->DIER|=1<<6; //觸發(fā)中斷使能
          TIM3->CR1|=1<<0; //使能定時(shí)器2
          MY_NVIC_Init(2,2,TIM3_IRQChannel,2); //設(shè)置定時(shí)器2中斷類(lèi)別
          }

          //----------------time.h--------------
          #ifndef _time_h
          #define _time_h
          #include "sys.h"
          void time_init(u16 arr,u16 psc);
          #endif
          //----------------------按鍵-----key.c------------
          #include "key.h"

          void key_init(void)
          {
          RCC->APB2ENR|=1<<2; //PORTA時(shí)鐘使能
          GPIOA->CRH&=0x0f0fffff;
          GPIOA->CRH|=0x80800000; //設(shè)置為輸入
          GPIOA->ODR|=1<<15;
          GPIOA->ODR|=1<<13;

          }

          //-------------------key.h----------------
          #ifndef _key_h
          #define _key_h
          #include "sys.h"
          #define key1 PAin(13)
          #define key2 PAin(15)
          void key_init(void);

          #endif
          //-------------------LED---------led.c-------------
          #include "led.h"
          void led_init(void)
          {
          RCC->APB2ENR|=1<<2;
          RCC->APB2ENR|=1<<5; //使能PORTD時(shí)鐘
          GPIOA->CRH&=0xfffffff0;
          GPIOA->CRH|=0x00000003; //PA8推挽輸出
          GPIOD->CRL&=0xfffff0ff;
          GPIOD->CRL|=0x00000300; //PD2推挽輸出
          GPIOA->ODR|=1<<8;
          GPIOD->ODR|=1<<2;

          }
          //------------------led.h---------------------
          #ifndef _led_h
          #define _led_h
          #include "sys.h"

          #define LED0 PAout(8)
          #define LED1 PDout(2)

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();