智能车制作

标题: 电磁直立,程序经常跑死怎么办 [打印本页]

作者: srqqq    时间: 2016-6-18 23:29
标题: 电磁直立,程序经常跑死怎么办
调好的程序,车子今天是彻底疯了。刚发车2秒程序直接跑死,电机保持最后一次运行状态,紧急停车程序无效。请问这种情况怎么解决?
作者: 幽谷之旅    时间: 2016-6-19 08:08
看看有没有中断卡死循环了,如果用的硬件iic的话容易出现这种问题。不是的话看看有没有进错误中断。
作者: srqqq    时间: 2016-6-19 15:50
幽谷之旅 发表于 2016-6-19 08:08
看看有没有中断卡死循环了,如果用的硬件iic的话容易出现这种问题。不是的话看看有没有进错误中断。

恩,谢谢你。陀螺仪和加速度计用的是IIC的,最近调整了一下陀螺仪的位置,靠近了电机一些,结果经常出现程序跑死的现象,以前偶尔也会出现,但是不是很频繁,不知道是不是这个原因。
关于中断卡死循环里,可能是卡死在硬件IIC读写的地方吗?而且程序跑死后串口中断也不能用了(串口中断的优先级高于定时器)。这个情况改怎么解决?

作者: 幽谷之旅    时间: 2016-6-19 17:55
应该就是卡在了硬件iic的地方,你在线调试看看就知道了。虽然你串口中断优先级高,到它接受到数据之后,还是不能执行的停车的动作呀,呵呵。因为卡住了嘛
作者: 长安    时间: 2016-6-19 20:29
检查你的IIC接口 80%是你的接线不牢导致的
作者: znmd308    时间: 2016-6-23 19:44
本帖最后由 znmd308 于 2016-6-23 19:51 编辑

这种情况是受电机干扰了,调试时会发现卡在IIC等待应答信号那里

所有信号线远离电机!!!!!!!
所有信号线远离电机!!!!!!!
所有信号线远离电机!!!!!!!

作者: srqqq    时间: 2016-6-24 15:51
znmd308 发表于 2016-6-23 19:44
这种情况是受电机干扰了,调试时会发现卡在IIC等待应答信号那里

所有信号线远离电机!!!!!!!

恩,已经确认是IIC的问题,现在改用软件IIC了,测试了一下没有卡死的现象了

作者: srqqq    时间: 2016-6-24 17:12
znmd308 发表于 2016-6-23 19:44
这种情况是受电机干扰了,调试时会发现卡在IIC等待应答信号那里

所有信号线远离电机!!!!!!!

还有,请问你们有没有测试过硬件IIC的读取时间?我用的山外的库,陀螺仪和加速度计为L3G4200D+MMA8451,用jlink调试测得读取一次陀螺仪的时间为0.5ms左右,读取一次加速度计的时间为1ms,这两个时间加起来已经超过了1ms的中断时间。

作者: 674584201    时间: 2016-6-27 23:36
我之前也出现了程序经常跑飞的问题,车就保持上一刻的所有信息不再更新......后来经过排查是超频太高了,不知道你又没有自己设置超频,不过有可能是你用的工程自己就设置好超频了.......超频到200M的话就会有跑飞的风险....自己的经验希望对你有帮助!
作者: srqqq    时间: 2016-6-28 17:28
674584201 发表于 2016-6-27 23:36
我之前也出现了程序经常跑飞的问题,车就保持上一刻的所有信息不再更新......后来经过排查是超频太高了,不 ...

程序没有超频,现在换成软件IIC就再也没有出现过跑飞的情况了,之前是IIC的库函数会卡死在一个循环里。总之谢谢啦

作者: ALittleManTou    时间: 2018-4-19 10:49
srqqq 发表于 2016-6-28 17:28
程序没有超频,现在换成软件IIC就再也没有出现过跑飞的情况了,之前是IIC的库函数会卡死在一个循环里。总 ...

请问如何更改为软件iic?

作者: ALittleManTou    时间: 2018-4-19 10:50
674584201 发表于 2016-6-27 23:36
我之前也出现了程序经常跑飞的问题,车就保持上一刻的所有信息不再更新......后来经过排查是超频太高了,不 ...

请问在哪里查看程序是否超频??





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2