当前位置:首页 > 单片机 > 单片机
[导读]// 经过下面的设置之后,该设置的引脚就会产生PWM波void TIM1_PWM_Init(void){// 配置引脚的复用功能RCC->AHBENR |= RCC_AHBENR_GPIOAEN;GPIOA->AFR[1] |= 0x00000002;GPIOA->MODER |= GPIO_MODER_MODER8_1;GPIOA->M

// 经过下面的设置之后,该设置的引脚就会产生PWM波

void TIM1_PWM_Init(void)

{

// 配置引脚的复用功能

RCC->AHBENR |= RCC_AHBENR_GPIOAEN;

GPIOA->AFR[1] |= 0x00000002;

GPIOA->MODER |= GPIO_MODER_MODER8_1;

GPIOA->MODER &= ~GPIO_MODER_MODER8_0;

GPIOA->OSPEEDR |= GPIO_OSPEEDR_OSPEEDR8;

GPIOA->OTYPER |= GPIO_OTYPER_OT_8;

// 配置PWM波的相关属性

RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; // 开启该定时器的时钟开关

// OC1M -- 控制PWM波模式

TIM1->CCMR1 |= (TIM_CCMR1_OC1PE | TIM_CCMR1_OC1FE | TIM_CCMR1_OC1M);

TIM1->PSC = 0; // 预分频寄存器

TIM1->ARR = 256; // 自动重装载值 == 频率值

TIM1->CCR1 = 0; // 占空比的值,控制占空比的数值不同从而控制输出波形

// 开启 1 ,2 ,3 , 4哪一个通道的开关,以及输出引脚有效电平

TIM1->CCER |= TIM_CCER_CC1E;

TIM1->BDTR |= TIM_BDTR_MOE; // PWM波输出使能

TIM1->CR1 |= TIM_CR1_CEN; // 定时器使能

}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭