OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4692|回复: 10

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

[复制链接]

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2016-7-1
在线时间
11 小时
发表于 2017-4-17 10:54:38 | 显示全部楼层 |阅读模式
10金钱
下面 是例程    请各位大侠  帮忙看看什么问题哈

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;

          }
      }   
   }  

}

最佳答案

查看完整内容[请看2#楼]

问题找到了 是 进入死循环了 __IAR_UNHANDLED_EXCEPTION 请问这个情况怎么解决啊 我看网上又说 中断向量地址不对
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2016-7-1
在线时间
11 小时
 楼主| 发表于 2017-4-17 10:54:39 | 显示全部楼层
本帖最后由 inocencelove 于 2017-4-17 14:36 编辑
操作系统 发表于 2017-4-17 11:44
void  TIM4_Init ( void )
{
    TIM4_PSCR = 0x06 ;    //主时钟分频2~6   定时器时钟  125khz

问题找到了   是  进入死循环了    __IAR_UNHANDLED_EXCEPTION           请问这个情况怎么解决啊    我看网上又说 中断向量地址不对
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6661
金钱
6661
注册时间
2016-5-29
在线时间
909 小时
发表于 2017-4-17 11:44:01 | 显示全部楼层
本帖最后由 操作系统 于 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;       //使能计数器
}
   
                        
回复

使用道具 举报

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2016-7-1
在线时间
11 小时
 楼主| 发表于 2017-4-17 13:04:58 | 显示全部楼层
本帖最后由 inocencelove 于 2017-4-17 14:37 编辑
操作系统 发表于 2017-4-17 11:44
void  TIM4_Init ( void )
{
    TIM4_PSCR = 0x06 ;    //主时钟分频2~6   定时器时钟  125khz

[size=18.018px]问题找到了   是  进入死循环了    __IAR_UNHANDLED_EXCEPTION           请问这个情况怎么解决啊    我看网上又说 中断向量地址不对
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6661
金钱
6661
注册时间
2016-5-29
在线时间
909 小时
发表于 2017-4-17 15:12:07 | 显示全部楼层
定时器4的中断向量,IAR编译器 #pragma vector= 25
试试,再有问题还是要自己仔细看代码.看资料,一切不看资料而写代码的行为都是耍流氓.
回复

使用道具 举报

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2016-7-1
在线时间
11 小时
 楼主| 发表于 2017-4-17 15:55:13 | 显示全部楼层
操作系统 发表于 2017-4-17 15:12
定时器4的中断向量,IAR编译器 #pragma vector= 25
试试,再有问题还是要自己仔细看代码.看资料,一切不看资 ...

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

我现在是一点思路都没有    不知道 怎么往下查了   写程序  真是很痛苦的经历 啊
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6661
金钱
6661
注册时间
2016-5-29
在线时间
909 小时
发表于 2017-4-17 16:24:54 | 显示全部楼层
当然要开总中断啦.0X19 就是 25 那证明你这一块没有问题的.问题在其它地方
回复

使用道具 举报

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2016-7-1
在线时间
11 小时
 楼主| 发表于 2017-4-17 18:38:30 | 显示全部楼层
操作系统 发表于 2017-4-17 16:24
当然要开总中断啦.0X19 就是 25 那证明你这一块没有问题的.问题在其它地方

嗯  找到了   是TIM2  的 IER   配置错误 引起的
回复

使用道具 举报

25

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
468
金钱
468
注册时间
2017-6-10
在线时间
66 小时
发表于 2018-11-24 09:18:04 | 显示全部楼层
inocencelove 发表于 2017-4-17 18:38
嗯  找到了   是TIM2  的 IER   配置错误 引起的

你不是TImer4吗,怎么Timer2的配置不对还有影响
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-12-11
在线时间
2 小时
发表于 2018-12-12 13:37:54 | 显示全部楼层
STM8L151G4U6         STM8S003F3P6       STM32F051R8T6 STM32F051K6U6 STM32F103VCT6 STM32F103RBT6 STM32F103VET6 STM32F103R8T6 STM32F103C8T6    STM32F030F4P6  STM32F407VET6  STM8L151G6U6TR  STM8S005K6T6CTR STM8L151C8T6 大量现货有需要的请联系QQ728378470
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-12-11
在线时间
2 小时
发表于 2018-12-13 11:33:44 | 显示全部楼层
供应以下系列芯片长期备货
REALTEK(瑞昱):
RTL8201F-VB-CG   4900/bag          RTL8201CP-VD-LF  2500/bag   
RTL8211EG-VB-CG  2600/bag         RTL8306M-CG      2600/bag            
RTL8309M-CG      1680/bag   
  TI(德州仪器)
MSP430F2131IPWR  2000/bag       MSP430F248TPM    1000/bag
MSP430F247IPM    1000/bag         MSP430F6723IPZ   1000/bag
MSP430F4793IPZR  1000/bag        MSP430G2452IPW20
MSP430F4152IPMR                        MSP430FR2033IPMR
MSP430FR4133IPMR                      MSP430F2131IDWR
  ST(意法半导体)
STM8L151G4U6                              STM8S003F3P6      
STM32F051R8T6                             STM32F051K6U6
STM32F103VCT6                             STM32F103RBT6
STM32F103VET6                              STM32F103R8T6
STM32F103C8T6                              STM32F030F4P6
STM32F407VET6                              STM8L151G6U6TR
STM8S005K6T6CTR                          STM8L151C8T6
原厂原装正品  有需要的请联系QQ728378470
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 14:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表