stm8s定时中断

stm8s定时器有高级定时器TIM1,通用定时器TIM2,TIM3,TIM5,以及基本定时器TIM4,TIM6。定时中断配置基本一样。需要注意的也就是分频不同,定时器位数不同。16位定时器配置后面再说,这里以基本定时器TIM4为例,产生2ms中断,配置如下:

TIM4_IER_UIE = 1;//使能TIM4溢出中断   
TIM4_PSCR = 0x06; //配置TIM4 64分频,8us记一次数 
TIM4_ARR = 0xF9; //自动重装载的值->249,2ms中断
TIM4_CNTR = 0xF9;  

TIM4_CR1_CEN = 1; //使能TIM4计数

说明:主时钟为8M,根据手册,带入数值8000000/(2^6)=125000Hz,1/125000=8us,8*(0xF9+1)=2000us=2ms

中断函数如下:

/* Defines an interrupt handler for TIM4 vector. */
#pragma vector=25
__interrupt void TIM4_IRQHandler(void)

{

    TIM4_SR_UIF = 0;//清中断标志

}

注意:这里中文手册翻译有误,基本定时器只有SR寄存器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值