void Time1_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_BaseInitStructure;
//TIM1 使用内部时钟
//TIM_InternalClockConfig(TIM1);
//TIM1基本设置
//设置预分频器分频系数71,即APB2=72M, TIM1_CLK=72/72=1MHz
//TIM_Period(TIM1_ARR)=1000,计数器向上计数到1000后产生更新事件,计数值归零
//向上计数模式
//TIM_RepetitionCounter(TIM1_RCR)=0,每次向上溢出都产生更新事件
TIM_BaseInitStructure.TIM_Period = 7199;
TIM_BaseInitStructure.TIM_Prescaler =9999;//定时1S
TIM_BaseInitStructure.TIM_ClockDivision = 0;
TIM_BaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_BaseInitStructure.TIM_RepetitionCounter = 0;
TIM_TimeBaseInit(TIM1, &TIM_BaseInitStructure);
//清中断,以免一启用中断后立即产生中断
TIM_ClearFlag(TIM1, TIM_FLAG_Update);
//使能TIM1中断源
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);
//TIM1总开关:开启
//TIM_Cmd(TIM1, ENABLE);
}
我要改变定时器的值,是不是要修改定时器的预分频数,周期值?
stm32f103 会不会出现伪中断
arm7会有:如定时器1,2,串口,i2c都开中断,就丢失中断程序偶尔死机,要注意
VICDefVectAddr=(unsigned long)Quest_handler; //添加伪中断处理句柄,处理伪中断
void __irq Quest_handler(void)
{
VICVectAddr=0x00;
}
//=====加此后就没有死机过===========================
stm32f103时钟节拍搞的总是进不去中断,问题就在这
/*******************************************************************************
* Function Name : SysTickHandler ????????????、
* Description : This function handles SysTick Handler.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void SysTick_Handler(void) ???????、、
{
// SYSTICK_CURRENT=0;
}
.h里定义的是: void SysTick_Handler(void); 而stm32f10x_it.c 干的是void SysTickHandler(void) ,下注一下就好了
我把我碰到的说说,也希望高手也说说
|