中级会员
 
- 积分
- 421
- 金钱
- 421
- 注册时间
- 2013-6-4
- 在线时间
- 14 小时
|
我想用定时器5做个计时器,就是分:秒那种,很简单的,设置思路就1秒中断1次,每次变量加1,这样得到时间,但是初始化定时器总是卡死,我也没发现为啥,是不是我中断函数那地方没整对?
初始化:
TIM5_Int_Init(9999,7199);
void TIM5_Int_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<3; //TIM5?±??????
TIM5->ARR=arr; //?è?¨?????÷×?????×°??//????1ms
TIM5-> SC=psc; //?¤·????÷7200,????10Khz???????±??
TIM5->DIER|=1<<0; //???í?ü??????
TIM5->DIER|=1<<6; //???í??·?????
TIM5->CR1|=0x01; //?????¨?±?÷5
MY_NVIC_Init(1,3,TIM5_IRQChannel,2);//????3??×???????3??×é2
}
void TIM5_close(void)
{
RCC->APB1ENR|=0<<3;TIM5->DIER|=0<<0;TIM5->CR1&=0xFe;
}
void TIM5_IRQHandler(void)
{
if(TIM5->SR&0X0001)//????????
{
time++;
}
TIM5->SR&=~(1<<0);//????????±ê????
}
|
|