注册 登录
查看: 342|回复: 8

[平衡组] 关于报错(重复定义)的疑问,求解!!!

[复制链接]
发表于 2014-3-31 07:45:04 | 显示全部楼层 |阅读模式
在移植无线调试的代码时,得将要用于调试的参数变成变量(之前是宏定义),而当我在control.c和main.c中定义:
float  Gyro_ratio;        //0.8    //陀螺仪比例参数
它就会报错:

令我不解的是,其他变量也是在main.c和control.c中同时定义(因为两处都要用到)的,它们怎么没报错?


你们有遇到这样的问题吗?怎么解决的?

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2014-3-31 08:54:21 | 显示全部楼层
主函数在引用外部变量是的时候是不能赋值的。
就是你的 extern float Gyro_ratio = 0.8;这句话是错误的。
float Gyro_ratio = 0.8;把这个赋值的语句放在首次定义的地方即放在control.c
在main.c引用的时候只要写extern float Gyro_ratio ;就可以了
回复 支持 反对

使用道具 举报

发表于 2014-3-31 11:41:26 | 显示全部楼层
♂荻夜 发表于 2014-3-31 08:54
主函数在引用外部变量是的时候是不能赋值的。
就是你的 extern float Gyro_ratio = 0.8;这句话是错误的。
...

帅呆了,赞一个

对的,声明的时候不能赋值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-31 12:51:18 | 显示全部楼层
♂荻夜 发表于 2014-3-31 08:54
主函数在引用外部变量是的时候是不能赋值的。
就是你的 extern float Gyro_ratio = 0.8;这句话是错误的。
...

嗯,确实是这样,非常感谢!!!我对这方面可以说是一无所知,惭愧了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-31 12:51:54 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-31 11:41
帅呆了,赞一个

对的,声明的时候不能赋值

嗯,确实是这样,非常感谢!!!向各位学习了
回复 支持 反对

使用道具 举报

发表于 2014-3-31 12:52:11 | 显示全部楼层
草原上的星星 发表于 2014-3-31 12:51
嗯,确实是这样,非常感谢!!!我对这方面可以说是一无所知,惭愧了

不懂得模块化编程。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-31 12:53:49 | 显示全部楼层
栾端静 发表于 2014-3-31 12:52
不懂得模块化编程。

嗯,是的。对于你们的帮助我非常感激,要不然我都不知道该怎么办了
回复 支持 反对

使用道具 举报

发表于 2014-4-1 17:02:00 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-31 11:41
帅呆了,赞一个

对的,声明的时候不能赋值

跟着山外大哥也学了点C的皮毛
回复 支持 反对

使用道具 举报

发表于 2014-4-1 17:02:57 | 显示全部楼层
草原上的星星 发表于 2014-3-31 12:51
嗯,确实是这样,非常感谢!!!我对这方面可以说是一无所知,惭愧了

才开始都是这样,慢慢来,没事做一做山外哥论坛上的每日一题,对学习C语言的帮助很大哦
回复 支持 反对

使用道具 举报

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

本版积分规则

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