STM8s003f3p6 TIM4定时器 一直进不了中断 求助 在线等哈

2019-07-19 20:23发布

下面 是例程    请各位大侠  帮忙看看什么问题哈

unsigned int  count1=0,count2=0,count7=0;

int  stage=0 ;

void  TIM4_Init ( void )
{
    TIM4_PSCR = 0x06 ;    //主时钟分频2~6   定时器时钟  125khz


    TIM4_SR = 0 ;            //中断标志位清零

    TIM4_IER_bit.TIE = 1 ;    //开定时器中断

    TIM4_ARR  = 125 ;     //一个技术周期1ms  

    TIM4_CR1=0x01;       //使能计数器

    TIM4_CNTR = 125 ;     //计数器初始值给125,目的是一开始
                          //计数就产生一次溢出从而产生更新
                          //时间来使预分频器的值启用            
}

#pragma vector=TIM4_OVR_UIF_vector
__interrupt void  TIM4_UPD_OVF_IRQHandler(void)
{
  count1++;  
   TIM4_SR = 0 ;    //中断标志位清零   
   if (count1==1000)
   {
      count7++;
      count1 =0;
      if(count7==60)
      {     
          count2++;
          count7=0;

          if (count2<30)        //第一阶段预充电 20A充电30分钟
          {
             stage=1;
          }

          if (30<count2<450)       //第二阶段恒流充电 30A充电7小时
          {
             stage=2;  
          }

          if (450<count2<570)       //第三阶段恒压充电  2小时 电流逐渐下降到6A
          {
             stage=3;         
          }

          if (570<count2<690)       //浮充电2小时后关机
          {
           stage=4;

          }
      }   
   }  

}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
inocencelove
1楼-- · 2019-07-19 20:51
本帖最后由 inocencelove 于 2017-4-17 14:36 编辑
操作系统 发表于 2017-4-17 11:44
void  TIM4_Init ( void )
{
    TIM4_PSCR = 0x06 ;    //主时钟分频2~6   定时器时钟  125khz

问题找到了   是  进入死循环了    __IAR_UNHANDLED_EXCEPTION           请问这个情况怎么解决啊    我看网上又说 中断向量地址不对
操作系统
2楼-- · 2019-07-19 21:22
本帖最后由 操作系统 于 2017-4-17 11:45 编辑

void  TIM4_Init ( void )
{
    TIM4_PSCR = 0x06 ;    //主时钟分频2~6   定时器时钟  125khz
    TIM4_CNTR = 124 ;     //计数器初始值给125,目的是一开始
    TIM4_ARR  = 125 ;     //一个技术周期1ms  
    TIM4_IER= 1 ;    //开定时器中断
    TIM4_CR1=0x81;       //使能计数器
}
   
                        
inocencelove
3楼-- · 2019-07-19 23:58
 精彩回答 2  元偷偷看……
操作系统
4楼-- · 2019-07-20 03:20
 精彩回答 2  元偷偷看……
inocencelove
5楼-- · 2019-07-20 07:10
操作系统 发表于 2017-4-17 15:12
定时器4的中断向量,IAR编译器 #pragma vector= 25
试试,再有问题还是要自己仔细看代码.看资料,一切不看资 ...

我之前试过  0x19   一样的  只要开了 总中断  就会进入这个地方  

我现在是一点思路都没有    不知道 怎么往下查了   写程序  真是很痛苦的经历 啊
操作系统
6楼-- · 2019-07-20 13:02
 精彩回答 2  元偷偷看……

一周热门 更多>