查看: 3718|回复: 12

[其他] 求助大神们帮看看,用BDM仿真时开启总中断后就出问题了

[复制链接]

该用户从未签到

1

主题

11

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
发表于 2013-7-8 10:45:33 | 显示全部楼层 |阅读模式
 程序在中断开启之后就跳到0000了,然后就在那部分循环source就没有执行任何语句了。
我知道答案 目前已有11人回答
QQ截图20130708104237.png
QQ截图20130708104251.png
回复

使用道具 举报

该用户从未签到

1

主题

11

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
 楼主| 发表于 2013-7-8 10:46:30 | 显示全部楼层

回复:求助大神们帮看看,用BDM仿真时开启总中断后就出问题了

QQ截图20130708104251.png  
QQ截图20130708104237.png
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2013-7-8 14:36:33 | 显示全部楼层

    RE:求助大神们帮看看,用BDM仿真时开启总中断后就出问题了

    先测试不开启终端运行是否正确?如果正确测试在使用中断的函数里面加个断点。先排除一下看门狗的问题。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    0
    最后登录
    1970-1-1
     楼主| 发表于 2013-7-8 15:36:17 | 显示全部楼层

    回复:求助大神们帮看看,用BDM仿真时开启总中断后就出问题了

    回复第 3 楼 于2013-07-08 14:36:33发表:
    先测试不开启终端运行是否正确?如果正确测试在使用中断的函数里面加个断点。先排除一下看门狗的问题。
     
     
    不开启中断能正常运行,
    DisableInterrupts;
      PWMInit();
      ATDInit();
      ECT_Init();
      inibs=0;
      MSCAN1_INITIAL();
      recevstate0=0;
      PTINI();
      //EnableInterrupts;
    注释掉  //EnableInterrupts;就能正常运行
    在中断函数里面设置断点也没起作用,还是会跳到0000
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    299

    帖子

    0

    高级会员

    Rank: 4

    积分
    653
    最后登录
    2018-12-14
    发表于 2013-7-8 16:07:43 | 显示全部楼层

    回复:求助大神们帮看看,用BDM仿真时开启总中断后就出问题了

    程序里有几个中断? 逐个屏蔽掉看看是哪个中断出的问题. 再看看这个出问题的中断中断向量号是否正确
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    0
    最后登录
    1970-1-1
     楼主| 发表于 2013-7-8 16:57:59 | 显示全部楼层

    回复:求助大神们帮看看,用BDM仿真时开启总中断后就出问题了

    回复第 5 楼 于2013-07-08 16:07:43发表:
    程序里有几个中断? 逐个屏蔽掉看看是哪个中断出的问题. 再看看这个出问题的中断中断向量号是否正确
     
     
    void ECT_Init(void) 
    {
      TSCR1_TEN=1;       //定时器使能
      TSCR1_TSWAI=0;    //中断等待允许继续运行
      TSCR1_TSFRZ=0;    //冻结模式下继续运行
      TSCR1_TFFCA=0;    //定时器标志快速清除
      TSCR2_TOI=1;     //计时器溢出中断使能
      TSCR2_TCRE=0;    //计数器自由计数
      TSCR2_PR2=0;
      TSCR2_PR1=0;
      TSCR2_PR0=0;   //设定预分频因子定时8ms
    }
    我查出是ECT的问题,我把ECT初始化注释掉就能正常运行了,能帮看看具体是什么问题吗,上面是初始化的部分
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2013-7-9 10:19:47 | 显示全部楼层

    RE:求助大神们帮看看,用BDM仿真时开启总中断后就出问题了

    ETC开启了中断,那么ETC的中断函数入口你写对了没有?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    299

    帖子

    0

    高级会员

    Rank: 4

    积分
    653
    最后登录
    2018-12-14
    发表于 2013-7-9 11:00:34 | 显示全部楼层

    回复:求助大神们帮看看,用BDM仿真时开启总中断后就出问题了

    回复第 6 楼 于2013-07-08 16:57:59发表:
    回复第 5 楼 于2013-07-08 16:07:43发表:
    程序里有几个中断? 逐个屏蔽掉看看是哪个中断出的问题. 再看看这个出问题的中断中断向量号是否正确
     
     
    void ECT_Init(void) 
    {
      TSCR1_TEN=1;       //定时器使能
      TSCR1_TSWAI=0;    //中断等待允许继续运行
      TSCR1_TSFRZ=0;    //冻结模式下继续运行
      TSCR1_TFFCA=0;    //定时器标志快速清除
      TSCR2_TOI=1;     //计时器溢出中断使能
      TSCR2_TCRE=0;    //计数器自由计数
      TSCR2_PR2=0;
      TSCR2_PR1=0;
      TSCR2_PR0=0;   //设定预分频因子定时8ms
    }
    我查出是ECT的问题,我把ECT初始化注释掉就能正常运行了,能帮看看具体是什么问题吗,上面是初始化的部分
     

     

    你把ECT初始化注释掉,你的定时器中断就不工作了. 所以就不出错.
    你看看你ECT的中断向量写对了吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    0
    最后登录
    1970-1-1
     楼主| 发表于 2013-7-9 13:27:44 | 显示全部楼层

    回复:求助大神们帮看看,用BDM仿真时开启总中断后就出问题了

    回复第 7 楼 于2013-07-09 10:19:47发表:
    ETC开启了中断,那么ETC的中断函数入口你写对了没有?
     
     
    好像没执行到ETC中断函数,我在中端最前加了断点,都没执行到断点。
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    0
    最后登录
    1970-1-1
     楼主| 发表于 2013-7-9 13:29:28 | 显示全部楼层

    回复:求助大神们帮看看,用BDM仿真时开启总中断后就出问题了

    回复第 8 楼 于2013-07-09 11:00:34发表:
    回复第 6 楼 于2013-07-08 16:57:59发表:
    回复第 5 楼 于2013-07-08 16:07:43发表:
    程序里有几个中断? 逐个屏蔽掉看看是哪个中断出的问题. 再看看这个出问题的中断中断向量号是否正确
     
     
    void ECT_Init(void) 
    {
      TSCR1_TEN=1;       //定时器使能
      TSCR1_TSWAI=0;    //中断等待允许继续运行
      TSCR1_TSFRZ=0;    //冻结模式下继续运行
      TSCR1_TFFCA=0;    //定时器标志快速清除
      TSCR2_TOI=1;     //计时器溢出中断使能
      TSCR2_TCRE=0;    //计数器自由计数
      TSCR2_PR2=0;
      TSCR2_PR1=0;
      TSCR2_PR0=0;   //设定预分频因子定时8ms
    }
    我查出是ECT的问题,我把ECT初始化注释掉就能正常运行了,能帮看看具体是什么问题吗,上面是初始化的部分
     

     

    你把ECT初始化注释掉,你的定时器中断就不工作了. 所以就不出错.
    你看看你ECT的中断向量写对了吗?
     
     
     
    向量值没写,到也能正常编译啊。
     
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-8 13:24 , Processed in 0.109624 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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