<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è) > 嵌入式系統 > 設計應用 > STM32單片機簡(jiǎn)易定時(shí)器PWM輸出

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

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

上次我發(fā)表的STM32單片機自帶PWM輸出實(shí)驗大家可以參考學(xué)習: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; //設置重裝載值
TIM3->PSC=psc; //設置分配系數
TIM3->DIER|=1<<0; //允許更新
TIM3->DIER|=1<<6; //觸發(fā)中斷使能
TIM3->CR1|=1<<0; //使能定時(shí)器2
MY_NVIC_Init(2,2,TIM3_IRQChannel,2); //設置定時(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; //設置為輸入
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è)

評論


技術(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>