智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2291|回复: 9
打印 上一主题 下一主题

[光电] K60的驱动程序里的变量为什么主程序不可调用??求大神帮忙

[复制链接]

1

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
154
威望
84
贡献
46
兑换币
38
注册时间
2012-11-9
在线时间
12 小时
毕业学校
武汉理工大学
跳转到指定楼层
1#
发表于 2013-2-18 03:37:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近写滤波程序返回角度值,不知道怎么的不管是定义在include.h还是驱动程序,两边总有一边显示udefined,求大神指导下啊。。

1

主题

2067

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5124

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
2752
贡献
898
兑换币
59
注册时间
2012-12-8
在线时间
737 小时
2#
发表于 2013-2-18 09:15:42 | 只看该作者
局部变量吧
回复 支持 反对

使用道具 举报

32

主题

978

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2834
QQ
威望
1620
贡献
482
兑换币
1009
注册时间
2012-11-29
在线时间
366 小时
3#
发表于 2013-2-18 09:33:37 | 只看该作者
只声明了,没定义
回复 支持 反对

使用道具 举报

36

主题

1837

帖子

3

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6375
威望
3368
贡献
1847
兑换币
2326
注册时间
2013-2-3
在线时间
580 小时
4#
发表于 2013-2-18 10:03:04 | 只看该作者
一处定义,多处生明。
还有,include.h 这样的文件名可不太好。
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
5#
发表于 2013-2-18 10:26:47 | 只看该作者
没声明吧
加上 extern 声明吧
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

注册会员

Rank: 2

积分
95
威望
44
贡献
37
兑换币
7
注册时间
2012-10-16
在线时间
7 小时
毕业学校
北京航空航天大学
6#
发表于 2013-2-18 16:36:59 | 只看该作者
你要看一下,你的编译环境的配置中,有没有将include.h头文件包含进去,只有包含进去以后才能饮用其中定义的变量。
回复 支持 反对

使用道具 举报

1

主题

27

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
429
威望
253
贡献
114
兑换币
42
注册时间
2011-9-30
在线时间
31 小时
7#
发表于 2013-2-19 00:17:52 | 只看该作者
比如有个模块A,分为A.h和A.C,有一个变量aV需要在B模块里(B.h和B.c)调用,那么(假设A还有一个函数是需要暴露的,比如aVxx(xxx))几个文件大致可以这么写:
A.h:
extern int aV;
extern int aVxx(xxx);

A.c:
include "a.h"
int aV = 0;
//(还有一堆外部不需要的变量,但是是模块级“全局”的,也在这声明(并初始化))
int aVxx(……)
{
    ……;  //aVxx的实现
}
这是A模块的写法,要点是,只要不是A模块需要让别的模块“知道”的,都不写在.h里面,而是只写在.c里面。

在B模块想要用aV这个变量,那么可以这么干:
B.h:
include "a.h"  //只要加这个东东,aV这个变量就是赤果果的可见滴了
B.c:
include "b.h"
   
int bX = 0;
……;
bX = aV; //现在这么做就没问题了

大致就是这样,楼上还有很有爱的灰原姐姐,你可以SM Ta 问问还。此外,还有别的搞法,但是这种对你来说应该比较简单……
(本人提供的解决思路限于本人的水平可能是不完善的,也可能是不可行的,具体还要少年你加油,本人在此免责了,出了问题谁也不许打PP)
回复 支持 反对

使用道具 举报

2

主题

30

帖子

0

精华

高级会员

Rank: 4

积分
854
威望
406
贡献
256
兑换币
187
注册时间
2012-10-19
在线时间
96 小时
8#
发表于 2013-2-24 09:33:15 | 只看该作者
加上 extern 声明就是全局变量了,就可以了
回复 支持 反对

使用道具 举报

28

主题

265

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1710
威望
853
贡献
483
兑换币
527
注册时间
2012-12-18
在线时间
187 小时
9#
发表于 2013-2-24 19:04:08 | 只看该作者
回复 支持 反对

使用道具 举报

2

主题

95

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1072
威望
530
贡献
320
兑换币
352
注册时间
2013-4-1
在线时间
111 小时
10#
发表于 2013-11-21 21:54:35 | 只看该作者
怒赞7楼一个
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 02:01 , Processed in 0.054495 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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