stm32f103C8,初始化定时器3时死机

2019-09-03 13:28发布

  1. <div>在使用stm32f103C8时,在main函数中调用TIM3_Int_Init();时会卡死,</div><div>debug时可以看到在</div><div>NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器</div><div>就不在继续了。</div><div>
  2. </div><div>TIM3_Int_Init();配置如下,谢谢解答。</div><div>
  3. </div><div>void TIM3_Int_Init(void)
  4. {
  5.     TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
  6.         NVIC_InitTypeDef NVIC_InitStructure;

  7.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能
  8.         //定时器TIM3初始化
  9.         // 19-------35999------10MS  定时
  10.         TIM_TimeBaseStructure.TIM_Period = 9; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值       
  11.         TIM_TimeBaseStructure.TIM_Prescaler =7199; //设置用来作为TIMx时钟频率除数的预分频值
  12.         TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
  13.         TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
  14.         TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位

  15.         TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中断,允许更新中断
  16. //        TIM_ClearITPendingBit(TIM3,TIM_IT_Update);//中断标志位清除
  17.         //中断优先级NVIC设置
  18.         NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中断
  19.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占优先级0级
  20.         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //从优先级3级
  21.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
  22.         NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器
  23.         TIM_Cmd(TIM3,ENABLE);       
  24. }</div>
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
yongqiang
1楼-- · 2019-09-03 15:41
 精彩回答 2  元偷偷看……
chenjiabao
2楼-- · 2019-09-03 18:36
所谓的死机指的是。。。? 还有NVIC优先级分组分了么?
yongqiang
3楼-- · 2019-09-03 18:43
就是不能继续执行了,或者跑飞了。
yongqiang
4楼-- · 2019-09-03 19:55
本帖最后由 yongqiang 于 2017-3-24 12:32 编辑

debug,就是到这里。分组也分了,
int main(void)
{
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
LED_Init();

uart3_init(250000);
// uart1_init(250000);
// DMX_Init();
TIM3_Int_Init();
while(1)
  {
  }
}

yongqiang
5楼-- · 2019-09-03 22:29
chenjiabao 发表于 2017-3-24 12:18
所谓的死机指的是。。。? 还有NVIC优先级分组分了么?

你好,我上了调试的截图,你看下是否知道哪里问题,谢谢。
chenjiabao
6楼-- · 2019-09-04 03:48
 精彩回答 2  元偷偷看……

一周热门 更多>