STM8S003FP6 TIM4配置

TIM4配置

TIM4->CNTR=0;      //计数器值
TIM4->ARR  = 0xFA; //自动重装载寄存器 250,产生125次定时1s
TIM4->PSCR =0x07;  //分频系数为128
TIM4->EGR =0x01;   //手动产生一个更新事件//用于PSC生效 注意,是手动更新(此项必须有)
TIM4->IER = 0x01;  //更新事件中断使能
TIM4->CR1 = 0x01;  //使能计时器,TIM4_CR0停止计时器

TIM4中断函数:

INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23)
{
 TIM4_ClearITPendingBit(TIM4_IT_UPDATE);
}
# 其它系列的写法大致相同,注意区分符号例如:
  TIM4_CNTR=0;       //初始化计数器值
  TIM4_ARR=0xFA;  //自动重装寄存器值250,250us
  TIM4_PSCR_PSC=0x03; //预分频系数为8,8M/8=1M->1us
  TIM4_EGR_UG=1; //手动产生一个更新事件,立即更新预分频器
  TIM4_IER_UIE=1;  //更新中断使能
  TIM4_CR1_CEN=1;//使能计数器

注意:配置完成后开启全局中断

rim();  //或者   enableInterrupts() 
其在宏定义如下:
 #define enableInterrupts()    __enable_interrupt()   /* enable interrupts */
 #define rim()                 __enable_interrupt()   /* enable interrupts */










如果都操作完了还存在问题:

请排查是在stm8s.h中定义芯片;

在这里插入图片描述

或者在options–>C/C++Complier -->Preprocessor -->Defined symbols中配置

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值