查看: 2732|回复: 10

PTM输入捕捉程序与看门狗SODT1冲突问题

[复制链接]

该用户从未签到

1

主题

7

帖子

0

新手上路

Rank: 1

积分
46
最后登录
2021-7-10
发表于 2021-7-7 12:01:04 | 显示全部楼层 |阅读模式
本帖最后由 qiumeishi 于 2021-7-7 13:35 编辑


以上是PWM输入捕捉程序,  其中润许中断, 捕捉,计数,  调试运行大概2秒,产生复位清零。看门狗导致的复位STOP1喂狗喂不上
  1. if(TxCnt==2){
  2.    
  3.     RTCSC_RTIF=1;  // 标志位清除
  4.     TPM2C1SC_CH1F=0;// 标志位清除
  5.    
  6.     TPM2SC_TOF=0; // 标志位清除
  7.     TPM2CNTH = 0;
  8.      TPM2MOD=0x3E8-1; //周期200
  9.   //  TPM2MOD=0x1770-1; //周期6000
  10.     TPM2SC=0x4F; // 润许中断   
  11.    // TPM2SC=0x0F; //不润许中断
  12. //   TPM2C1SC_CH1F=0;// 标志位清除
  13.     TPM2C1SC = 0x4C; //润许中断             //霍尔pwm  
  14.     // TPM2C1SC = 0x04; //不润许中断  
  15.     //TPM2C0VH=EE_js;
  16.      
  17.      if ((TPM2MODH==(EE_js>>8)) && (TPM2MODL==(EE_js-1))) {
  18.     } else {
  19.        TPM2MODH = (byte) (EE_js>>8);    // set period
  20.        TPM2MODL = (byte) (EE_js-1);
  21.     }
  22.    
  23.    // SRS_COP=0;                                                
  24.    
  25.    /*while (1)
  26.     {
  27.         if (TPM2C1SC_CH1F == 1)
  28.          
  29.         TPM2C1SC_CH1F = 1;
  30.         TPM2C1V = EE_js;
  31.         if(EE_js>=6000){
  32.         FF_js =1;
  33.         FF_js++;
  34.     //  TPM2CNT =0;
  35.      }  
  36.     } */
  37.   }

  38.    //    SRS_COP=0;   //
  39.        TPM2SC=0x00;
  40. ////////////////////////////////////////////////////////////////////////////////////////
  41. /* __interrupt VectorNumber_Vtpm1ch0 void TPM2C0SCSTR (void){ //计时器1中断
  42.    {   DisableInterrupts;
  43.        TPM1C0SC_CH0F=0; //// 标志位清除
  44.        DisableInterrupts;   }  */
  45.       
  46.        TPM2C1SC_CH1F=0; // 标志位清除                  
  47.       // DisableInterrupts;
  48.        TPM2SC_TOF=0;// 标志位清除
  49.       // RTCSC_RTIF =1;
  50.       
  51.                           //TPM2CNTL=0x00;    //复位可清除 TPM2 计数器寄存器。      
  52.     }
复制代码
  1. void InitSystems() {               //by main
  2. //  SOPT   = 0x0;
  3.                                     // 40 60 A0 00
  4.    SOPT1  = 0xC0;                   // 80 EO CO //Enable COP Timeout=256mS
  5.    //SOPT1_COPT = 0 ;                                 //当全选00时电动机一直在转 停不了机
  6.    SOPT2  = 0x00;                   //81 83 00// 使用内部1k看门狗时钟
  7. //  SOPT1_COPT = 0 ;             //COP 禁止  这些单次写入有效的位选择 COP 的超时周期。STOP2 中的 COPT 和 COPCLKS 定义 COP超时周期   
  8. }
复制代码

回复

使用道具 举报

  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32012
    最后登录
    2024-4-9
    发表于 2021-7-7 13:13:45 | 显示全部楼层
    程序可以上传一下
    签到签到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    4 天前
  • 签到天数: 557 天

    [LV.9]以坛为家II

    34

    主题

    5913

    帖子

    2

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5688
    最后登录
    2024-4-19
    发表于 2021-7-7 13:16:47 | 显示全部楼层
    程序实在脑补不出来。得有数据程序才能分析
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    2021-7-10
     楼主| 发表于 2021-7-7 13:28:34 | 显示全部楼层
    本帖最后由 qiumeishi 于 2021-7-7 14:03 编辑

    复制代码
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    2021-7-10
     楼主| 发表于 2021-7-7 13:32:04 | 显示全部楼层
    1. oid InitSystems() {               //by main

    2.    SOPT1  = 0xC0;                   // 80 EO CO //Enable COP Timeout=256mS
    3.    //SOPT1_COPT = 0 ;                                 //当全选00时电动机一直在转 停不了机
    4.    SOPT2  = 0x00;                   //81 83 00// 使用内部1k看门狗时钟
    5. //  SOPT1_COPT = 0 ;             //COP 禁止  这些单次写入有效的位选择 COP 的超时周期。STOP2 中的 COPT 和 COPCLKS 定义 COP超时周期   
    6. }
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    2021-7-10
     楼主| 发表于 2021-7-7 15:20:43 | 显示全部楼层
    NXP管管 发表于 2021-7-7 13:13
    程序可以上传一下

    您好,程序已经上传了,麻烦分析一下,谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    2021-7-10
     楼主| 发表于 2021-7-7 15:21:27 | 显示全部楼层
    ghost110 发表于 2021-7-7 13:16
    程序实在脑补不出来。得有数据程序才能分析




    您好,程序已经上传了,麻烦分析一下,谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-12-17 09:04
  • 签到天数: 346 天

    [LV.8]以坛为家I

    19

    主题

    94

    帖子

    3

    金牌会员

    Rank: 6Rank: 6

    积分
    1361
    最后登录
    2024-1-15
    发表于 2021-7-7 16:21:49 | 显示全部楼层
    你用定时器开一个计时,到了时间定时喂狗,如果正常的话就是你的SOPT初始配置有问题,你上传的代码看不出错误所在,你可以试一下我说的
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    2021-7-10
     楼主| 发表于 2021-7-7 16:26:41 | 显示全部楼层
    一代睡神的崛起 发表于 2021-7-7 16:21
    你用定时器开一个计时,到了时间定时喂狗,如果正常的话就是你的SOPT初始配置有问题,你上传的代码看不出错 ...

    我如果不设置PWM通道寄存器的中断使能位为1,主程序就正常工作;  就是PWM捕捉没计数了, 我STOP关闭为00,  PWM捕捉计数正常, 但是除了这个PWM正常外, 其他功能一切不能用了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-2-8 09:39
  • 签到天数: 217 天

    [LV.7]常住居民III

    92

    主题

    1111

    帖子

    29

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7617

    热心会员

    最后登录
    2024-4-22
    发表于 2021-7-8 08:56:23 | 显示全部楼层
    这些代码确实看不出有啥不对劲的地方。可以看一下是不是因为一直触发中断的原因导致不能正常工作的
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-23 19:11 , Processed in 0.137804 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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