管理员
  
- 积分
- 165377
- 金钱
- 165377
- 注册时间
- 2010-12-1
- 在线时间
- 2111 小时
|
发表于 2012-10-20 00:15:28
|
显示全部楼层
//定时器3中断服务程序
void TIM1_UP_IRQHandler(void)
{
if(TIM1->SR&0X0001)//溢出中断
{
LED1=!LED1;
}
TIM1->SR&=~(1<<0);//清除中断标志位
}
//通用定时器1中断初始化
//这里时钟选择为APB1的2倍,而APB1为36M
//arr:自动重装值。
//psc:时钟预分频数
//这里使用的是定时器3!
void TIM1_Int_Init(u16 arr,u16 psc)
{
RCC->APB2ENR|=1<<11;//TIM1时钟使能
TIM1->ARR=arr; //设定计数器自动重装值//刚好1ms
TIM1-> SC=psc; //预分频器7200,得到10Khz的计数时钟
TIM1->DIER|=1<<0; //允许更新中断
TIM1->CR1|=0x01; //使能定时器1
MY_NVIC_Init(1,3,TIM1_UP_IRQChannel,2);//抢占1,子优先级3,组2
}
以上代码,软件仿真通过. |
|