OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 15861|回复: 9

求助,KEIL中定义全局结构体?

[复制链接]

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2013-11-5 09:51:17 | 显示全部楼层 |阅读模式



在.h文件里面如何书写,在.c里面又如何书写?谢谢

结构体结构,全局变量名为DATA13,DATA14
struct POWER_DATA
{
U16 FIRST;
U16 SECOND;
U16 THIRD;
U16 FOURTH;
U16 FIFTH;
U8 STATUS;
U32 ACT_POWER[2];
U32 RE_ACT_POWER[2];
float COSX[2];
};



我定义了好多种方式都错误了,包括像他本身自带头文件一样使用typedef 去定义,但是他好像需要直接指向地址的


谁定义过,知道下,谢谢啊






正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

302

帖子

2

精华

高级会员

Rank: 4

积分
727
金钱
727
注册时间
2011-11-22
在线时间
10 小时
发表于 2013-11-5 10:08:41 | 显示全部楼层
在h文件里

typedef struct 
{
。。。。。。。。。。。。。。。。。。。。
}POWER_DATA;    
extern OWER_DATA DATA14;
extern OWER_DATA DATA13;

/////////////////////////////
在c文件里
 OWER_DATA DATA14;
 OWER_DATA DATA13;

就可以了,这些问题多看看人家的程序就明白了
世界如此美好,好好珍惜每一天吧!
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2013-11-5 10:27:04 | 显示全部楼层
回复【2楼】dzng11:
---------------------------------
没用的,兄弟,报错了。。。






回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2013-11-5 10:28:34 | 显示全部楼层
我都试过好多种方法了,呜呜呜
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2013-11-5 10:30:49 | 显示全部楼层
跟那个13没关系的错误,那是我打错了,刚发现
回复 支持 反对

使用道具 举报

19

主题

302

帖子

2

精华

高级会员

Rank: 4

积分
727
金钱
727
注册时间
2011-11-22
在线时间
10 小时
发表于 2013-11-5 10:48:34 | 显示全部楼层
见鬼了
回复 支持 反对

使用道具 举报

19

主题

302

帖子

2

精华

高级会员

Rank: 4

积分
727
金钱
727
注册时间
2011-11-22
在线时间
10 小时
发表于 2013-11-5 11:24:40 | 显示全部楼层
你可能在别的地方已经定义了POWER_DATA
世界如此美好,好好珍惜每一天吧!
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2013-11-5 12:00:02 | 显示全部楼层
回复【7楼】dzng11:
---------------------------------
我在另外一个.H文档里面定义就通过了,我把我原来的文件全部注释掉,就让它在那,他也说无效的重复定义,不认我,气死我了,一样的包含,一样的定义,就这么坑爹。。。。



哭泣个,谢了,兄弟
回复 支持 反对

使用道具 举报

19

主题

199

帖子

0

精华

高级会员

Rank: 4

积分
513
金钱
513
注册时间
2012-11-18
在线时间
72 小时
发表于 2013-11-5 13:32:13 | 显示全部楼层
struct OWER_DATA
 
{
 
U16 FIRST;
 
U16 SECOND;
 
U16 THIRD;
 
U16 FOURTH;
 
U16 FIFTH;
 
U8 STATUS;
 
U32 ACT_POWER[2];
 
U32 RE_ACT_POWER[2];
 
float COSX[2];
 
};


extern struct OWER_DATA DATA13
extern struct OWER_DATA DATA14

以上是.H文件




在你的.C文件最前面加上struct OWER_DATA DATA13
struct OWER_DATA DATA14
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2013-11-5 17:44:23 | 显示全部楼层
回复【9楼】lansing1648:

struct OWER_DATA
 
{
 
U16 FIRST;
 
U16 SECOND;
 
U16 THIRD;
 
U16 FOURTH;
 
U16 FIFTH;
 
U8 STATUS;
 
U32 ACT_POWER[2];
 
U32 RE_ACT_POWER[2];
 
float COSX[2];
 
};
extern struct OWER_DATA DATA13
extern struct OWER_DATA DATA14
以上是.H文件

在你的.C文件最前面加上struct OWER_DATA DATA13
struct OWER_DATA DATA14

---------------------------------


呵呵,谢了,兄弟,问题找到了,是我在注释重复定义头文件时,输错对应编码了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-9 15:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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