金牌会员
 
- 积分
- 1055
- 金钱
- 1055
- 注册时间
- 2012-8-26
- 在线时间
- 52 小时
|
5金钱
用STM32也已经很久了,原来定时器都用2,3,4, 今天做一个程序定时器不够用了,想到了用高级定时器1,使用同样的配置,
NVIC_InitTypeDef NVIC_InitStructure;
TIM_ClearFlag(TIM1, TIM_FLAG_Update);
NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
TIM_TimeBaseStructure.TIM_Prescaler = 7199;//预分频值
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式
TIM_TimeBaseStructure.TIM_Period = 19;//在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;//TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x01;//重复计数值
TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);//初始化
TIM_Cmd(TIM1, ENABLE);
TIM_ITConfig(TIM1, TIM_IT_Update,ENABLE);//使能或者失能指定的TIM中断
这样配置编译器报错,说找不到 TIM1_UP_IRQn,
我查看了
DCD TIM1_BRK_IRQHandler ; TIM1 Break
DCD TIM1_UP_IRQHandler ; TIM1 Update
DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
DCD TIM2_IRQHandler ; TIM2
DCD TIM3_IRQHandler ; TIM3
这些仿佛都有定义,
那么问题来了, tim1的溢出中断到底是多少呢
|
最佳答案
查看完整内容[请看2#楼]
回复【2楼】lycreturn:
---------------------------------
找了HD文件里 应该是 TIM1_UP_TIM16_IRQHandler ,不知道TIM16是如何冒出来的
|