注册 登录
查看: 564|回复: 24

[平衡组] 陀螺仪转到一个角度,程序就跑飞

[复制链接]
发表于 2014-3-2 14:36:51 | 显示全部楼层 |阅读模式
本帖最后由 飞星传恨 于 2014-3-7 21:13 编辑


经常性出现信号丢失,陀螺仪往前倾串口就没有数据发出,调试界面采集数据也全是0.

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2014-3-2 14:48:42 | 显示全部楼层
是采集问题,还是发送问题呢?
得自己确定一下原因,别人才容易分析的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-2 14:52:27 | 显示全部楼层
许亮 发表于 2014-3-2 14:48
是采集问题,还是发送问题呢?
得自己确定一下原因,别人才容易分析的。

采集问题,在陀螺仪转到某个角度 整个程序都会跑飞
回复 支持 反对

使用道具 举报

发表于 2014-3-2 14:54:59 | 显示全部楼层
飞星传恨 发表于 2014-3-2 14:52
采集问题,在陀螺仪转到某个角度 整个程序都会跑飞

跑飞,看看程序是执行什么东西
回复 支持 反对

使用道具 举报

发表于 2014-3-2 14:55:42 | 显示全部楼层
飞星传恨 发表于 2014-3-2 14:52
采集问题,在陀螺仪转到某个角度 整个程序都会跑飞

硬件上访,还是进入默认中断?
或者断言?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-2 14:58:37 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-2 14:55
硬件上访,还是进入默认中断?
或者断言?

怎么看呢?在call stack里?
回复 支持 反对

使用道具 举报

发表于 2014-3-2 14:59:14 | 显示全部楼层
飞星传恨 发表于 2014-3-2 14:58
怎么看呢?在call stack里?

是的,IAR调试方法,我们的K60视频上就讲解了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-2 15:38:05 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-2 14:59
是的,IAR调试方法,我们的K60视频上就讲解了

貌似是重启,因为看不到硬件上访和断言
回复 支持 反对

使用道具 举报

发表于 2014-3-2 15:40:51 | 显示全部楼层
飞星传恨 发表于 2014-3-2 15:38
貌似是重启,因为看不到硬件上访和断言

那直接串口助手里查看是否重启。
屏蔽掉串口发送波形数据到上位机,在main函数的while(1)前面加个printf函数来查看是否重启
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-4 21:04:47 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-2 15:40
那直接串口助手里查看是否重启。
屏蔽掉串口发送波形数据到上位机,在main函数的while(1)前面加个printf ...

反复调试程序后,把自带的卡座换了,直接杜邦线连接,一切ok.
可能是软排线问题
回复 支持 反对

使用道具 举报

发表于 2014-3-4 22:09:24 | 显示全部楼层
飞星传恨 发表于 2014-3-4 21:04
反复调试程序后,把自带的卡座换了,直接杜邦线连接,一切ok.
可能是软排线问题

哦哦,这样子啊,谢谢反馈
回复 支持 反对

使用道具 举报

发表于 2014-3-4 22:09:49 | 显示全部楼层
飞星传恨 发表于 2014-3-4 21:04
反复调试程序后,把自带的卡座换了,直接杜邦线连接,一切ok.
可能是软排线问题

应该是软排线干扰严重导致的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-7 21:12:58 | 显示全部楼层
本帖最后由 飞星传恨 于 2014-3-7 21:14 编辑
山外メ雲ジ 发表于 2014-3-4 22:09
应该是软排线干扰严重导致的

开始以为是软排线,但昨天又出现了同样的问题,调试下了,确实进入了默认中断

C:\Users\Kongxiao\Desktop\QQ截图20140306205123.jpg

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2014-3-7 21:14:06 | 显示全部楼层
飞星传恨 发表于 2014-3-7 21:12
开始以为是软排线,但昨天又出现了同样的问题,调试下了,确实进入了默认中断

默认中断是哪个中断呢?接入串口助手就可以看到。图片没上传,你直接复制图片是不行的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-7 21:15:13 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-7 21:14
默认中断是哪个中断呢?接入串口助手就可以看到。图片没上传,你直接复制图片是不行的

不好意思 图片传上来了
回复 支持 反对

使用道具 举报

发表于 2014-3-7 21:18:46 | 显示全部楼层
飞星传恨 发表于 2014-3-7 21:12
开始以为是软排线,但昨天又出现了同样的问题,调试下了,确实进入了默认中断

栈数据都破坏掉,应该是数据越界这类导致的,能百分百重现吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-7 21:25:04 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-7 21:18
栈数据都破坏掉,应该是数据越界这类导致的,能百分百重现吗?

多次调试都是这样的
回复 支持 反对

使用道具 举报

发表于 2014-3-7 21:27:42 | 显示全部楼层
飞星传恨 发表于 2014-3-7 21:25
多次调试都是这样的

这情况,首先需要确认最后执行什么函数就发生这问题,最好定位到发生问题的那个代码里。

这样才可以知道原因。

如果你单步调试不出现问题的话,那就在每个函数的开头都加个串口打印,最终看看进入默认中断前执行的是哪个函数,一步步来找出问题的所在。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-7 21:28:55 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-7 21:27
这情况,首先需要确认最后执行什么函数就发生这问题,最好定位到发生问题的那个代码里。

这样才可以知 ...

好,我明天去试试,有问题再请教
回复 支持 反对

使用道具 举报

发表于 2014-3-7 21:29:56 | 显示全部楼层
飞星传恨 发表于 2014-3-7 21:28
好,我明天去试试,有问题再请教

好的,呵呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-19 21:25:26 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-7 21:29
好的,呵呵

最后是一条一条函数试的 最后发现加上
angle_offset_vertical = (MMA7361_vertical - MMA7361) * MMA7361_ratio;
之后就会出现之前的情况。
回复 支持 反对

使用道具 举报

发表于 2014-3-19 21:33:07 | 显示全部楼层
飞星传恨 发表于 2014-3-19 21:25
最后是一条一条函数试的 最后发现加上
angle_offset_vertical = (MMA7361_vertical - MMA7361) * MMA736 ...

跑飞,是硬件上访吗?
还是其他问题?
回复 支持 反对

使用道具 举报

发表于 2014-3-19 21:33:40 | 显示全部楼层
飞星传恨 发表于 2014-3-19 21:25
最后是一条一条函数试的 最后发现加上
angle_offset_vertical = (MMA7361_vertical - MMA7361) * MMA736 ...

你用的IAR版本是什么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-19 21:36:43 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-19 21:33
你用的IAR版本是什么?

iar是6.3的,有什么关系么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-22 20:47:14 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-19 21:33
你用的IAR版本是什么?

今天换初级教程还是会进默认中断……买了三个月了 一点进展都没有 很着急啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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