本帖最后由 cpl_1 于 2013-10-31 18:35 编辑
请问一下,我使用定时器4,怎么老是进不了中断呢?而通过查询溢出标志的方式应用timer4是可行的,说明定时器已经启动了,可是中断还要在哪里设置呢?谢谢!
我用的编译环境是:IAR FOR STM8 v1.3。
#include<iostm8s103f3.h>
#include "intrinsics.h"
/********定时器4初始化**********/
void Tim4_Init(void)
{ CLK_PCKENR1 |=0x10;//默认开启时钟
TIM4_PSCR =0x05; // 分频
TIM4_EGR |= 0x01; //
TIM4_ARR = 0xfa; //重装载值
TIM4_IER_UIE = 1; //更新中断使能
TIM4_CR1_ARPE = 1; //预装载使能
TIM4_CR1_CEN = 1; //启动计数器
__enable_interrupt();//使能总中断
}
/********定时器4中断程序**********/
#pragma vector = TIM4_OVR_UIF_vector
__interrupt void TIM4_UIF_HANDLER(void)
{
static unsigned int i;
i++;
if(i == 100)
{
i = 0;
PA_ODR_ODR3 = ~PA_ODR_ODR3;
}
TIM4_SR_UIF = 0;
}
|