如何不断开启关闭定时器3-STM32-F0/F1/F2专区
2017-06-28
展开全部
//”PWM输出初始化
//arr:自动重装值
//psc:时钟预分频数
void WM_Init(u16 arr,u16 psc)
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRH&=0XFFFFFFF0;//PA8输出
GPIOA->CRH|=0X00000004;//浮空输入
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出
GPIOA->ODR|=1<<7;//PA7上拉
TIM3->ARR=arr;//设定计数器自动重装值
TIM3->SC=psc;//预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 WM2模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CR1=0x8000; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
TIM3->CR1=0x8000; //ARPE使能
这句话,默认就把CR1的最低位给关了。
改为:TIM3->CR1|=0x80; //ARPE自动装载使能
永远保持一颗学习的心态。
//arr:自动重装值
//psc:时钟预分频数
void WM_Init(u16 arr,u16 psc)
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRH&=0XFFFFFFF0;//PA8输出
GPIOA->CRH|=0X00000004;//浮空输入
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出
GPIOA->ODR|=1<<7;//PA7上拉
TIM3->ARR=arr;//设定计数器自动重装值
TIM3->SC=psc;//预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 WM2模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CR1=0x8000; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
TIM3->CR1=0x8000; //ARPE使能
这句话,默认就把CR1的最低位给关了。
改为:TIM3->CR1|=0x80; //ARPE自动装载使能
永远保持一颗学习的心态。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
51单片机中的工作寄存器是一种特殊的寄存器,它存储的数据可以在单片机的工作时钟周期内被修改。工作寄存器通常用于存储操作数、传输数据或执行其他常规操作。由于51单片机具有许多指令可以直接访问内部的工作寄存器,因此工作寄存器在单片机编程中具有重...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
2017-06-28
展开全部
//”PWM输出初始化
//arr:自动重装值
//psc:时钟预分频数
void WM_Init(u16 arr,u16 psc)
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRH&=0XFFFFFFF0;//PA8输出
GPIOA->CRH|=0X00000004;//浮空输入
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出
GPIOA->ODR|=1<<7;//PA7上拉
TIM3->ARR=arr;//设定计数器自动重装值
TIM3->SC=psc;//预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 WM2模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CR1=0x8000; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
TIM3->CR1=0x8000; //ARPE使能
这句话,默认就把CR1的最低位给关了。
改为:TIM3->CR1|=0x80; //ARPE自动装载使能
永远保持一颗学习的心态。
//arr:自动重装值
//psc:时钟预分频数
void WM_Init(u16 arr,u16 psc)
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRH&=0XFFFFFFF0;//PA8输出
GPIOA->CRH|=0X00000004;//浮空输入
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出
GPIOA->ODR|=1<<7;//PA7上拉
TIM3->ARR=arr;//设定计数器自动重装值
TIM3->SC=psc;//预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 WM2模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CR1=0x8000; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
TIM3->CR1=0x8000; //ARPE使能
这句话,默认就把CR1的最低位给关了。
改为:TIM3->CR1|=0x80; //ARPE自动装载使能
永远保持一颗学习的心态。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-06-28
展开全部
//”PWM输出初始化
//arr:自动重装值
//psc:时钟预分频数
void WM_Init(u16 arr,u16 psc)
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRH&=0XFFFFFFF0;//PA8输出
GPIOA->CRH|=0X00000004;//浮空输入
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出
GPIOA->ODR|=1<<7;//PA7上拉
TIM3->ARR=arr;//设定计数器自动重装值
TIM3->SC=psc;//预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 WM2模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CR1=0x8000; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
TIM3->CR1=0x8000; //ARPE使能
这句话,默认就把CR1的最低位给关了。
改为:TIM3->CR1|=0x80; //ARPE自动装载使能
永远保持一颗学习的心态。
//arr:自动重装值
//psc:时钟预分频数
void WM_Init(u16 arr,u16 psc)
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRH&=0XFFFFFFF0;//PA8输出
GPIOA->CRH|=0X00000004;//浮空输入
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出
GPIOA->ODR|=1<<7;//PA7上拉
TIM3->ARR=arr;//设定计数器自动重装值
TIM3->SC=psc;//预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 WM2模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CR1=0x8000; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
TIM3->CR1=0x8000; //ARPE使能
这句话,默认就把CR1的最低位给关了。
改为:TIM3->CR1|=0x80; //ARPE自动装载使能
永远保持一颗学习的心态。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-06-28
展开全部
//”PWM输出初始化
//arr:自动重装值
//psc:时钟预分频数
void WM_Init(u16 arr,u16 psc)
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRH&=0XFFFFFFF0;//PA8输出
GPIOA->CRH|=0X00000004;//浮空输入
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出
GPIOA->ODR|=1<<7;//PA7上拉
TIM3->ARR=arr;//设定计数器自动重装值
TIM3->SC=psc;//预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 WM2模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CR1=0x8000; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
TIM3->CR1=0x8000; //ARPE使能
这句话,默认就把CR1的最低位给关了。
改为:TIM3->CR1|=0x80; //ARPE自动装载使能
永远保持一颗学习的心态。
//arr:自动重装值
//psc:时钟预分频数
void WM_Init(u16 arr,u16 psc)
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRH&=0XFFFFFFF0;//PA8输出
GPIOA->CRH|=0X00000004;//浮空输入
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出
GPIOA->ODR|=1<<7;//PA7上拉
TIM3->ARR=arr;//设定计数器自动重装值
TIM3->SC=psc;//预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 WM2模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CR1=0x8000; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
TIM3->CR1=0x8000; //ARPE使能
这句话,默认就把CR1的最低位给关了。
改为:TIM3->CR1|=0x80; //ARPE自动装载使能
永远保持一颗学习的心态。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询