注册 登录
查看: 1656|回复: 29

[摄像头组] KL26上2M出现问题复位

[复制链接]
发表于 2014-12-22 20:33:19 | 显示全部楼层 |阅读模式
KL26上2m后进场会出现芯片复位现象 有没有兄弟遇到过?
求解决方法。。。。。

本帖被以下淘专辑推荐:

回复

使用道具 举报

发表于 2014-12-22 21:41:26 | 显示全部楼层
在进入main后,马上调用这函数,通过蓝牙串口来在上位机看结果就好了。


  1. /* OutSRS routine - checks the value in the SRS registers and sends
  2. * messages to the terminal announcing the status at the start of the
  3. * code.
  4. */
  5. void outSRS(void){                         //[outSRS]

  6.   
  7.         if (RCM_SRS1 & RCM_SRS1_SACKERR_MASK)
  8.                 printf("\n\rStop Mode Acknowledge Error Reset");
  9.         if (RCM_SRS1 & RCM_SRS1_MDM_AP_MASK)
  10.                 printf("\n\rMDM-AP Reset");
  11.         if (RCM_SRS1 & RCM_SRS1_SW_MASK)
  12.                 printf("\n\rSoftware Reset");
  13.         if (RCM_SRS1 & RCM_SRS1_LOCKUP_MASK)
  14.                 printf("\n\rCore Lockup Event Reset");
  15.        
  16.         if (RCM_SRS0 & RCM_SRS0_POR_MASK)
  17.                 printf("\n\rPower-on Reset");
  18.         if (RCM_SRS0 & RCM_SRS0_PIN_MASK)
  19.                 printf("\n\rExternal Pin Reset");
  20.         if (RCM_SRS0 & RCM_SRS0_WDOG_MASK)
  21.                 printf("\n\rWatchdog(COP) Reset");
  22.         if (RCM_SRS0 & RCM_SRS0_LOC_MASK)
  23.                 printf("\n\rLoss of External Clock Reset");
  24.         if (RCM_SRS0 & RCM_SRS0_LOL_MASK)
  25.                 printf("\n\rLoss of Lock in PLL Reset");
  26.         if (RCM_SRS0 & RCM_SRS0_LVD_MASK)
  27.                 printf("\n\rLow-voltage Detect Reset");
  28.         if (RCM_SRS0 & RCM_SRS0_WAKEUP_MASK)
  29.         {
  30.           printf("\n\r[outSRS]Wakeup bit set from low power mode ");
  31.           if ((SMC_PMCTRL & SMC_PMCTRL_STOPM_MASK)== 3)
  32.             printf("LLS exit ") ;
  33.           if (((SMC_PMCTRL & SMC_PMCTRL_STOPM_MASK)== 4) && ((SMC_STOPCTRL & SMC_STOPCTRL_VLLSM_MASK)== 0))
  34.             printf("VLLS0 exit ") ;
  35.           if (((SMC_PMCTRL & SMC_PMCTRL_STOPM_MASK)== 4) && ((SMC_STOPCTRL & SMC_STOPCTRL_VLLSM_MASK)== 1))
  36.             printf("VLLS1 exit ") ;
  37.           if (((SMC_PMCTRL & SMC_PMCTRL_STOPM_MASK)== 4) && ((SMC_STOPCTRL & SMC_STOPCTRL_VLLSM_MASK)== 2))
  38.             printf("VLLS2 exit") ;
  39.           if (((SMC_PMCTRL & SMC_PMCTRL_STOPM_MASK)== 4) && ((SMC_STOPCTRL & SMC_STOPCTRL_VLLSM_MASK)== 3))
  40.             printf("VLLS3 exit ") ;
  41.         }

  42.         if ((RCM_SRS0 == 0) && (RCM_SRS1 == 0))
  43.         {
  44.                printf("[outSRS]RCM_SRS0 is ZERO   = %#02X \r\n\r", (RCM_SRS0))  ;
  45.                printf("[outSRS]RCM_SRS1 is ZERO   = %#02X \r\n\r", (RCM_SRS1))  ;         
  46.         }
  47.   }
回复 支持 反对

使用道具 举报

发表于 2014-12-22 21:22:04 | 显示全部楼层
复位问题,难道是静电问题导致复位?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-22 21:24:48 | 显示全部楼层
我觉得可能是静电  只有在赛道上跑的时候  才会复位  我把电机壳接地了  还是一样没有任何作用     想用锡箔纸贴底板  暂时没有锡箔纸
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-22 21:26:22 | 显示全部楼层
山外メ雲ジ 发表于 2014-12-22 21:22
复位问题,难道是静电问题导致复位?

复位是个老难题啊  哎   之前超频到极限值遇到过  现在有没有超到100M以上  但是还是复位  真是无从下手
回复 支持 反对

使用道具 举报

发表于 2014-12-22 21:37:06 | 显示全部楼层
suqiang1271 发表于 2014-12-22 21:26
复位是个老难题啊  哎   之前超频到极限值遇到过  现在有没有超到100M以上  但是还是复位  真是无从下手
...

是可以查复位的原因的,我现在不在电脑前,我叫其他人帮忙把代码发一下给你。


回复 支持 反对

使用道具 举报

发表于 2014-12-22 21:42:30 | 显示全部楼层
先看看是什么原因导致复位的
回复 支持 反对

使用道具 举报

发表于 2014-12-22 22:02:07 | 显示全部楼层
仰逸致 发表于 2014-12-22 21:42
先看看是什么原因导致复位的

是进主函数就调用??  不需要在while中调用???    或者不需要用什么中断?
回复 支持 反对

使用道具 举报

发表于 2014-12-22 22:12:51 | 显示全部楼层
东方潇明 发表于 2014-12-22 22:02
是进主函数就调用??  不需要在while中调用???    或者不需要用什么中断?

这个不需要在while里调用,只需要复位的时候调用一次就好了,这段代码的功能是把复位原因通过串口打印出来。

当然,你可以显示到液晶或者其他方面也行,自行修改就好。
回复 支持 反对

使用道具 举报

发表于 2014-12-23 11:46:26 | 显示全部楼层
现在测到是什么复位没有?
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-23 14:48:28 | 显示全部楼层
山外メ雲ジ 发表于 2014-12-22 21:37
是可以查复位的原因的,我现在不在电脑前,我叫其他人帮忙把代码发一下给你。

谢谢山哥了    今晚用山哥给的代码测试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-23 14:49:26 | 显示全部楼层
仰逸致 发表于 2014-12-22 21:41
在进入main后,马上调用这函数,通过蓝牙串口来在上位机看结果就好了。

万分感谢!
回复 支持 反对

使用道具 举报

发表于 2014-12-23 16:19:19 | 显示全部楼层
山外メ雲ジ 发表于 2014-12-23 11:46
现在测到是什么复位没有?

External Pin Reset外部引进复位。。。这。。。
回复 支持 反对

使用道具 举报

发表于 2014-12-23 16:25:49 | 显示全部楼层
东方潇明 发表于 1419322759
External Pin Reset外部引进复位。。。这。。。
REST 管脚被静电打到,干扰了。
试试进入main函数,初始化REST 管脚为gpio输出为1 看看
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-24 01:15:19 | 显示全部楼层
山外メ雲ジ 发表于 2014-12-23 16:25
REST 管脚被静电打到,干扰了。
试试进入main函数,初始化REST 管脚为gpio输出为1 看看

感谢山哥的帮助  问题解决了

回复 支持 反对

使用道具 举报

发表于 2014-12-25 16:04:45 | 显示全部楼层
顶一下,山外哥给力啊
回复 支持 反对

使用道具 举报

发表于 2015-2-6 13:05:51 | 显示全部楼层
山外メ雲ジ 发表于 2014-12-23 16:25
REST 管脚被静电打到,干扰了。
试试进入main函数,初始化REST 管脚为gpio输出为1 看看

山哥,为啥初始化REST管脚高电平这个问题就能解决了??
回复 支持 反对

使用道具 举报

发表于 2015-2-6 13:07:31 | 显示全部楼层
v投笔从容v 发表于 2015-2-6 13:05
山哥,为啥初始化REST管脚高电平这个问题就能解决了??

是禁掉复位才解决。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-2-6 13:17:26 | 显示全部楼层
山外メ雲ジ 发表于 2015-2-6 13:07
是禁掉复位才解决。

这样是不是就没法使用按键复位了?
回复 支持 反对

使用道具 举报

发表于 2015-2-6 14:19:10 | 显示全部楼层
v投笔从容v 发表于 2015-2-6 13:17
这样是不是就没法使用按键复位了?

是的。
回复 支持 反对

使用道具 举报

发表于 2015-4-26 16:58:13 | 显示全部楼层
山外メ雲ジ 发表于 2015-2-6 13:07
是禁掉复位才解决。

山外哥,怎么才能禁止掉复位引脚?
回复 支持 反对

使用道具 举报

发表于 2015-5-26 17:26:29 | 显示全部楼层
山外メ雲ジ 发表于 2015-2-6 13:07
是禁掉复位才解决。

山外哥,这个复位的函数,要调用哪个文件呀,为什么他说我都没有定义呢??
回复 支持 反对

使用道具 举报

发表于 2015-5-26 17:28:08 | 显示全部楼层
仰逸致 发表于 2014-12-22 22:12
这个不需要在while里调用,只需要复位的时候调用一次就好了,这段代码的功能是把复位原因通过串口打印出 ...

大神,我这个复位函数要调用哪个文件吗??为什么他说我没有定义呢??
回复 支持 反对

使用道具 举报

发表于 2015-5-26 18:45:38 | 显示全部楼层
涛家柒柒 发表于 2015-5-26 17:28
大神,我这个复位函数要调用哪个文件吗??为什么他说我没有定义呢??

复位函数,是单片机自己复位的时候调用的。

如何配置复位函数,这个你自己找找资料。
回复 支持 反对

使用道具 举报

发表于 2015-5-26 18:48:55 | 显示全部楼层
仰逸致 发表于 2015-5-26 18:45
复位函数,是单片机自己复位的时候调用的。

如何配置复位函数,这个你自己找找资料。

说错了,是查找复位原因的函数。。。。我的k60,怎么没有找到呀。。。。大神,给个链接吧

回复 支持 反对

使用道具 举报

发表于 2015-5-26 19:37:55 | 显示全部楼层
涛家柒柒 发表于 2015-5-26 17:26
山外哥,这个复位的函数,要调用哪个文件呀,为什么他说我都没有定义呢??

要自己写的,你把我提供的代码复制到工程里就好。库里没那个函数。
回复 支持 反对

使用道具 举报

发表于 2015-5-26 19:44:41 | 显示全部楼层
仰逸致 发表于 2015-5-26 19:37
要自己写的,你把我提供的代码复制到工程里就好。库里没那个函数。

RCM_SRS1 & RCM_SRS1_SACKERR_MASK    大神,像这些,我自己定义就可以了吗??

回复 支持 反对

使用道具 举报

发表于 2015-6-8 17:40:57 | 显示全部楼层
山外メ雲ジ 发表于 2014-12-22 21:22
复位问题,难道是静电问题导致复位?

山外哥,我现在用的K60,总是复位,有什么查询办法吗??
回复 支持 反对

使用道具 举报

发表于 2016-2-15 23:45:28 | 显示全部楼层

山外哥,我在按键函数里面加了一个擦除flash的函数,长按B键的时候会触发擦除flash,然后往flash写入新的数据。但实际上,每次我长按b键的时候,芯片就会复位。用sysout()这个函数来查看复位原因,显示的是core lockup event reset,请问是什么问题。还有一个就是flash_init()函数一调用就会陷入死循环出不来,停在这while( !(SYST_CSR & SysTick_CSR_COUNTFLAG_MASK));  库函数是5.0版本的
回复 支持 反对

使用道具 举报

发表于 2016-5-22 20:35:01 | 显示全部楼层

山外哥,具体怎么取消复位功能的可以教一下吗
回复 支持 反对

使用道具 举报

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

本版积分规则

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