关于PWM输出同时进入中断的问题,不知哪里配置错误

2019-07-20 23:31发布

我使用定时器1的通道3输出PWM时候遇到的问题,(PA10,PB15)输出周期100us,脉宽10us,同时开启了中断,100us进入一次中断,反转PB4.使用STlink下载后进入中断的频率是预设的,不断电的情况下,按复位键重启也正常,但是只要断电后重启中断频率就不正常了,但是PWM输出仍然是预设的.仿真也没问题,不知到底是哪里配置错了.望遇到类似问题给予解答,谢谢.这是我测试的.我使用的芯片是STM32F103C8T6.

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
604415420
1楼-- · 2019-07-21 03:38
找到了原因了  //定时器TIM3初始化
TIM_TimeBaseStructure.TIM_Period = arr;//设置在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimeBaseStructure.TIM_Prescaler = psc;//设置用来作为TIMx时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位
加个这个 好了  TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
加过这个不行的  TIM_DeInit(TIM1);
peng1554
2楼-- · 2019-07-21 06:19
帮顶~~
604415420
3楼-- · 2019-07-21 12:18
找到了原因了  //定时器TIM3初始化
TIM_TimeBaseStructure.TIM_Period = arr;//设置在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimeBaseStructure.TIM_Prescaler = psc;//设置用来作为TIMx时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位
加个这个 好了  TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
加过这个不行的  TIM_DeInit(TIM1);

一周热门 更多>