STM32F1通用定时器输出比较模式寄存器配置例程

STM32F1通用定时器输出比较模式寄存器配置例程(以TIM2通道1为例),实现效果是PA0引脚输出PWM波

void tim2CH1OutputCompare(uint16_t psc,uint16_t arr,uint16_t ccr)
{

RCC->APB1ENR|=(1<<0);				//Timer2 clock enabled

RCC->APB2ENR|=(1<<0);				//Alternate Function I/O clock enabled

RCC->APB2ENR|=(1<<2);				//IO port A clock enabled

GPIOA->CRL|=(3<<0);					//Output mode,max speed 50Mhz

GPIOA->CRL|=(1<<3);					//Alternate function output Push-pull
GPIOA->CRL&=~(1<<2);

AFIO->MAPR&=~(3<<8);				//No remap

TIM2->SMCR&=~(7<<0); 				//Internal clock

TIM2->ARR = arr;

TIM2->CCR1= ccr;

TIM2->DIER|=(1<<0);					//Update interrupt enable

TIM2->DIER|=(1<<1);					//Capture/Compare 1 interrupt enable

TIM2->CCMR1|=(3<<4);				//Output compare 1 mode:Toggle

TIM2->CCMR1&=~(1<<3);				//Preload register on TIMx_CCR1 disabled

TIM2->CCER|=(1<<0);					//OC1 signal is output on the corresponding output pin

TIM2->CCER&=~(1<<1);				//OC1 active high

TIM2->CR1|=(1<<0);					//Counter enabled

}
具体配置要求请参考STM32F1系列芯片的参考手册

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值