管理员
  
- 积分
- 165596
- 金钱
- 165596
- 注册时间
- 2010-12-1
- 在线时间
- 2120 小时
|
发表于 2013-9-11 22:03:27
|
显示全部楼层
可以仿真一下看看么?
这是我的STM8S的代码:
//定时器2中断服务函数
INTERRUPT_HANDLER(TIM2_UPD_OVF_IRQHandler,TIM2_UPD_OVF_VECTOR)
{
static u8 t=0;
TIM2->SR1&=~(1<<0); //清零更新中断标志
t=!t;
EXBEEP_SET(t);
}
//定时器2.中断初始化代码
//定时时间: (arr+1)*(2^psc)/Fmaster
//psc:分配系数,0~15;分频系数为:2^psc,最大为2^15=32768分频
//arr:自动重装载值
void TIM2_INT_Init(u8 psc,u16 arr)
{
CLK-> CKENR1|=1<<5; //开启TIM2时钟
TIM2-> SCR=psc; //2^psc次方分频
TIM2->ARRH=arr>>8; //必须先设置ARR的高字节
TIM2->ARRL=arr&0XFF;//再设置低字节
TIM2->CR1=1<<7; //预装载使能
TIM2->IER=1<<0; //使能更新中断
TIM2->CR1=1<<0; //使能TIM2
ITC_Set(TIM2_UPD_OVF_VECTOR,2); //优先级2
} |
|