STM8S003F定时器4的寄存器写操作无效

2019-07-19 20:54发布

我觉得你编写的程序不太正规,TIM4->EGR  = 0x01;不应该这样写,你用什么位就设置什么,不要一起设置TIM4->EGR  |= 0x01;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
shuchao001
2019-07-20 03:53

void main(void)
{
  CLK_CKDIVR=0X10;//4M
  TIM4_Init();
  TIM4_CR1 |= 0x01;
  asm("rim");
  while(1)
  {
  }
}

void TIM4_Init(void)
{
    TIM4_PSCR=0x02;//分频值,1M
    TIM4_IER=0x01;//更新中断使能
    TIM4_CNTR=250;//计数器初值,250us
    TIM4_ARR=250;//自动重装的值250us
}
#pragma vector=TIM4_OVR_UIF_vector //定义中断服务函数入口地址
__interrupt void TIM4_OVR_UIF__IRQHandler(void)//4000——1S
{
  TIM4_SR=0x00; //清除中断标志

一周热门 更多>