注册 登录
查看: 383|回复: 6

[电磁组] 程序跑飞 异常结束

[复制链接]
发表于 2014-4-19 13:53:45 | 显示全部楼层 |阅读模式
main 函数各种初始化
   
然后
    DELAY_MS(50);
    AD_max_collect();                             //采集电感最大值 把采集电感值写入flash中

然后在死循环里
for(;;)
   {   
     printf("\n山外-vcan123论坛:www.vcan123.com");
     DELAY();
   }

程序会死在  采集前的DELAY 中
call stack






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2014-4-19 13:55:29 | 显示全部楼层
然后我把 DELAY_MS(50);去掉   live watch里面的值就乱跳
最后程序自动停止  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-19 13:57:55 | 显示全部楼层
本帖最后由 开灰机的灰机 于 2014-4-19 14:31 编辑

如果我把  死循环中的  printf 去掉  程序正常工作

把  AD_max_collect();  去掉仅读取flash 程序也正常工作 串口助手也能正常显示

如果2个都加上, 把核心板完全断电 然后第一次上电 程序一般正常 ,按reset 按键  有时候正常(较少 )有时候卡死在DELAY_MS 中
另外程序中仅一个PIT0 中断函数 来控制小车

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-19 13:58:37 | 显示全部楼层
求大神 帮忙
..
回复 支持 反对

使用道具 举报

发表于 2014-4-20 11:30:26 | 显示全部楼层
开灰机的灰机 发表于 2014-4-19 13:57
如果我把  死循环中的  printf 去掉  程序正常工作

把  AD_max_collect();  去掉仅读取flash 程序也正常 ...

DELAY_MS 是 PIT 延时的,应该不会啊。

有一种可能就是超频过高导致不稳定
回复 支持 反对

使用道具 举报

发表于 2014-4-20 11:32:33 | 显示全部楼层
另外,我们的系统初始化是放在main函数之前的啊,不是main里面的啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-20 18:12:48 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-20 11:32
另外,我们的系统初始化是放在main函数之前的啊,不是main里面的啊

我说的初始化是   指ad采值pwm初始化  不是系统的
回复 支持 反对

使用道具 举报

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

本版积分规则

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