智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1339|回复: 8
打印 上一主题 下一主题

/*求助帖*/代码在codewarriors5.1环境中编译出现错误求指明

[复制链接]

1

主题

119

帖子

0

精华

高级会员

Rank: 4

积分
659
威望
328
贡献
195
兑换币
221
注册时间
2014-11-3
在线时间
68 小时
跳转到指定楼层
1#
发表于 2015-4-3 21:29:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10贡献
写到了互补滤波的部分。原理利用的是将陀螺仪偏角积分后与加速度计数据互补得到最终结果。
但是编码到这里就是过不去啊!!
开始时候说是下面代码出现错误【missing “}”】,但是互补滤波函数(见下)的“}”根本没有问题啊!!!
    void hubu(void)
    {
            r=gyro/e*d;     
            s=r-b;         
            t=s*a;         
            u=t/c;         
            tlan=tlan+u;   
            rr=0.95*(rr+tlan)+0.05*Y;
    }

后来将互补滤波函数中的参数设置为全局变量,再编译错误类型就变为上图所示,我已经检查了好几遍好几遍,真的是找不到任何错误才决定向大家求助的。

/*我知道肯定是自己代码写的有问题,明明看到大家有xs128芯片带动小车飙到3m/s。话唠了,忽略这一行吧。。*/

不知道大家之前有没有遇到过这样的问题,如果有的话还希望有热心的朋友能帮忙看一下代码的哪个位置出现了怎样的问题,如果能有大家踊跃发言实在是再好不过。

//今天是被这段main.c折腾到痛不欲生的第二天。。



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

最佳答案

查看完整内容

第21 22行define定义的宏去掉“;”。
回复

使用道具 举报

3

主题

132

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2334
威望
1223
贡献
703
兑换币
586
注册时间
2012-2-26
在线时间
204 小时
2#
发表于 2015-4-3 21:29:45 | 只看该作者
第21 22行define定义的宏去掉“;”。
回复

使用道具 举报

17

主题

76

帖子

0

精华

高级会员

Rank: 4

积分
790
威望
389
贡献
187
兑换币
222
注册时间
2013-11-28
在线时间
107 小时
3#
发表于 2015-4-3 22:19:22 | 只看该作者
你编写的函数不是很规范,虽然乘除属于同一阶,但是最好用括号。看一下你建立工程中选取了float型没有,没有选的话也是编译不过的
回复

使用道具 举报

1

主题

119

帖子

0

精华

高级会员

Rank: 4

积分
659
威望
328
贡献
195
兑换币
221
注册时间
2014-11-3
在线时间
68 小时
4#
 楼主| 发表于 2015-4-4 13:11:42 | 只看该作者
青谷子 发表于 2015-4-3 22:19
你编写的函数不是很规范,虽然乘除属于同一阶,但是最好用括号。看一下你建立工程中选取了float型没有,没有 ...

创建工程的时候选好了floar类型,加上括号再编译仍然是这两个错误。目前为止仍然不清楚究竟是哪里出了问题。
这里编译出现问题不会是算法的问题,应该是C编写过程不规范导致的问题。
还是静下心来再检查一遍好了。
感谢你的回复。
回复

使用道具 举报

3

主题

15

帖子

0

精华

高级会员

Rank: 4

积分
570
威望
269
贡献
183
兑换币
166
注册时间
2015-1-4
在线时间
59 小时
5#
发表于 2015-4-7 14:22:02 | 只看该作者
问题解决没
回复

使用道具 举报

0

主题

61

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
威望
747
贡献
446
兑换币
474
注册时间
2013-12-3
在线时间
131 小时
6#
发表于 2015-4-7 18:09:38 | 只看该作者
宏定义是不要分号的。。。。。。。。
回复

使用道具 举报

1

主题

119

帖子

0

精华

高级会员

Rank: 4

积分
659
威望
328
贡献
195
兑换币
221
注册时间
2014-11-3
在线时间
68 小时
7#
 楼主| 发表于 2015-4-9 10:15:00 | 只看该作者
吴朋 发表于 2015-4-7 18:09
宏定义是不要分号的。。。。。。。。

suo...阴沟里面翻船了。。
回复

使用道具 举报

2

主题

78

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2299
威望
1069
贡献
626
兑换币
703
注册时间
2014-12-30
在线时间
302 小时
毕业学校
武大
8#
发表于 2015-4-15 21:13:22 | 只看该作者
同学你们是怎么解决的 能不能告诉我们一下  还有那个滤波的参数为什么有设置0.95  是已经调试好的吗
回复

使用道具 举报

1

主题

119

帖子

0

精华

高级会员

Rank: 4

积分
659
威望
328
贡献
195
兑换币
221
注册时间
2014-11-3
在线时间
68 小时
9#
 楼主| 发表于 2015-4-18 09:36:55 | 只看该作者
夏日之恋 发表于 2015-4-15 21:13
同学你们是怎么解决的 能不能告诉我们一下  还有那个滤波的参数为什么有设置0.95  是已经调试好的吗

问题已经解决了。不过是换了代码之后解决的。现在已经可以融合出来波形,虽然还有很大进步空间,但是怎么说现在有希望了。
另外,0.95不是调试好的参数。当时是从网上找资料得到的互补滤波常数为0.05和0.95。这个好像还需要继续调试才能确定那个数值与你的车子最吻合。

回复

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-2-24 04:34 , Processed in 0.052209 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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