yzb1019 发表于 2014-5-17 20:28:06

程序卡死都有哪些原因啊,详情见贴(已解决)

本帖最后由 FSL_TICS_ZJJ 于 2014-6-4 13:27 编辑

智能车程序,前几天跑多少圈都没卡过。最近老卡死,中断的原因吗?还是受到干扰了,产生外部中断,但是没有对应的外部中断处理函数。估计后者可能性更大吧?

albert_w 发表于 2014-5-17 21:03:38

循环过程打印一些消息,看看到底卡在哪里。 一般来说中断了没函数会导致复位。而且, 你得开了相应的中断才会触发到中断服务, 很可能不是这个原因。

wangpengcheng 发表于 2014-5-17 21:04:28

首先要确定卡在哪里了,呵呵,肯定是程序中有BUG!

yzb1019 发表于 2014-5-17 21:14:23

albert_w 发表于 2014-5-17 21:03
循环过程打印一些消息,看看到底卡在哪里。 一般来说中断了没函数会导致复位。而且, 你得开了相应的中断才 ...

有时是卡在定时中断里,有时是main里面。。。

wangpengcheng 发表于 2014-5-17 21:16:05

yzb1019 发表于 2014-5-17 21:14
有时是卡在定时中断里,有时是main里面。。。

查一下是否有指针越界的问题!

头上两只角 发表于 2014-5-17 23:08:53

程序 找那个的数组越界。。。还有可能是A/B中的B 为0 也有 可能。

zgxcom123 发表于 2014-5-18 15:40:26

1、接仿真器单步调试,大致定位一下Bug位置,数组越界的话确实很容易卡死

2、不排除电源设计不合理,毕竟有电机的地方干扰不会小

yzb1019 发表于 2014-5-18 18:40:47

zgxcom123 发表于 2014-5-18 15:40
1、接仿真器单步调试,大致定位一下Bug位置,数组越界的话确实很容易卡死

2、不排除电源设计不合理,毕竟 ...

根本检查不出来啊,总共一个数组。然后就是之前好好地程序,现在拿来用出现问题,可能就不是程序的问题。其次车只有在往左拐的时候才会出现程序卡死的情况,右拐没有任何问题

zgxcom123 发表于 2014-5-18 18:53:04

yzb1019 发表于 2014-5-18 18:40
根本检查不出来啊,总共一个数组。然后就是之前好好地程序,现在拿来用出现问题,可能就不是程序的问题。 ...

既然根本查不出来,你还来发帖做什么。。。。。。。

yzb1019 发表于 2014-5-18 18:56:03

zgxcom123 发表于 2014-5-18 18:53
既然根本查不出来,你还来发帖做什么。。。。。。。

看看论坛上的高人们有没有什么好办法没有主要是,还是重写吧。。。

zgxcom123 发表于 2014-5-18 19:47:02

yzb1019 发表于 2014-5-18 18:56
看看论坛上的高人们有没有什么好办法没有主要是,还是重写吧。。。

程序跑飞的原因多了去了,有的原因没准你听都没听过

只不过你从一开始就抱以消极的态度来对待
对出错现象没有自己的理解与分析,即便重写,也不会比这个好到哪去

zgxcom123 发表于 2014-5-18 19:51:53

曾经有网友讲过这样一个故事………………

有个女生找他调1602的程序,发现板子上焊了俩1602,但是项目只用到了一个,问原因,答:
第一个液晶调不出来,我就在旁边重新焊了一个。。。。。

含情别问我 发表于 2014-5-18 20:14:04

你看下是不是接线接触问题还是左转电机、舵机卡死引起的,这种情况原因太多,你一个个排除下。
下次提问的时候最好把现象详细的描述清楚,不然别人没法回答你的。

含情别问我 发表于 2014-5-18 20:15:35

还有你看下是不是固定位置,出现同样的问题,这样就是你的程序有问题。

yzb1019 发表于 2014-5-18 20:49:57

含情别问我 发表于 2014-5-18 20:14
你看下是不是接线接触问题还是左转电机、舵机卡死引起的,这种情况原因太多,你一个个排除下。
下次提问的 ...

嗯,我去试试。

wangpengcheng 发表于 2014-5-18 20:50:07

仿真、打印、程序屏蔽等,程序不外乎就这几种查BUG的方式,想想办法,肯定能找出来,呵呵!

yzb1019 发表于 2014-5-18 20:59:24

zgxcom123 发表于 2014-5-18 19:51
曾经有网友讲过这样一个故事………………

有个女生找他调1602的程序,发现板子上焊了俩1602,但是项目只用 ...

嗯,说的是。程序没法仿真,也仔细分析过,现在和小伙伴一起讨论中。

yzb1019 发表于 2014-5-18 21:01:14

wangpengcheng 发表于 2014-5-18 20:50
仿真、打印、程序屏蔽等,程序不外乎就这几种查BUG的方式,想想办法,肯定能找出来,呵呵! ...

试过两种了,差个打印信息。看来真不能偷懒啊。

wangpengcheng 发表于 2014-5-18 21:03:14

yzb1019 发表于 2014-5-18 21:01
试过两种了,差个打印信息。看来真不能偷懒啊。

程序调试过程是个复杂的过程,但当你的问题解决之后那种心情是非常愉悦的!

FSL_TICS_ZJJ 发表于 2014-5-19 14:05:46

楼主需要好好检查下是什么情况下产生的中断,然后分析原因,期待你的进一步测试结果。

r166 发表于 2014-5-19 16:15:16

应该是干扰,软硬件双管齐下解决问题才是关键。

xinyinxing 发表于 2014-5-20 17:33:10

一步一步查,肯定能找到问题。

jzkn 发表于 2014-5-21 09:50:51

程序屏蔽和打印结合起来,不放地上跑。悬空调试。

songjie 发表于 2014-7-10 09:07:00

比起中断,我更愿意用 查询的方式

浪里白条 发表于 2014-7-10 09:11:00

哥子,先检查硬件问题,电源等方面。

zjk 发表于 2014-8-27 16:18:50

用串口发出来看看呢

bailangcn 发表于 2014-8-27 16:22:07

解决了竟然没有贴解决方法,

lzl000 发表于 2014-8-27 17:04:59

实在太多了,不过一般都是软件问题,仿真器一步步试试吧

zhudadragon 发表于 2014-8-27 17:29:53

围观   

maimaige 发表于 2014-8-27 17:52:08

你这个是啥原因啊,说一说,我们学习一下

yzb1019 发表于 2014-8-27 18:12:55

maimaige 发表于 2014-8-27 17:52
你这个是啥原因啊,说一说,我们学习一下

好久之前的事了啊,就是接线的问题,也不是程序的问题

backlaneboy 发表于 2014-8-27 18:19:59

也有可能是浮点数溢出

yzb1019 发表于 2014-8-27 18:21:35

backlaneboy 发表于 2014-8-27 18:19
也有可能是浮点数溢出

好久以前的事了,不过还是谢谢了。问题其实很简单,经测试就是接线的问题
页: [1]
查看完整版本: 程序卡死都有哪些原因啊,详情见贴(已解决)