stm32定时器能同时两个怎么配置?怎么配置优先级?

 我来答
肥肥的爆米花
2013-04-12 · TA获得超过3771个赞
知道小有建树答主
回答量:910
采纳率:50%
帮助的人:626万
展开全部
配置定时器的步骤:
1)开对应定时器时钟
2)定义结构体
3)配置
4)中断函数使能
5)使能定时器
*注:你可以在用函数的时候“|”上另一个定时器,或者重复操作以上步骤。
配置优先级:
1)定义个结构体
2)设置优先级组别
3)初始化设置
xc1901016
2013-04-13 · TA获得超过149个赞
知道答主
回答量:211
采纳率:0%
帮助的人:72.3万
展开全部
void timer_init(void)//初始化time1使能计数器
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
//TIM_OCInitTypeDef TIM_OCInitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
PrescalerValue = (uint16_t) (SystemCoreClock /TIM2_rate) - 1; //设定的是定时器的频率,要设定pwm的频率为50hz要乘以对
//应的arr值
TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; //TIM_Prescaler 设置了用来作为TIMx时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_Period = PWM_ARR; //设置了在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式
//TIM_BaseInitStructure.TIM_RepetitionCounter = 0;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ClearFlag(TIM2, TIM_FLAG_Update);//清中断,以免一启用中断后立即产生中断
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);//使能TIM1中断源
TIM_ARRPreloadConfig(TIM2, ENABLE);

TIM_Cmd(TIM2, ENABLE);
}
void time_NVIC(void)//time中断初始化
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式