OpenEdv-开源电子网

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

keil5只要定义结构体就会报错。

[复制链接]

1

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2020-11-8
在线时间
23 小时
发表于 2021-8-2 15:41:08 | 显示全部楼层 |阅读模式
注释掉结构体可以正常编译,如图:


当定义结构体是出现报错:
结构体:
  1. typedef struct{
  2.         u8 Rx_Buf[8];
  3.         u8 Tx_Buf[8];
  4.         u8 Rec_Data_Finish_Flag;
  5.         u8 Rec_Data_Count;

  6. }nzzzzzzzzzzzzzzz;
复制代码

报错内容:
  1. ..\USART_TALL\usart_global_variable.h(23): error:  #256: invalid redeclaration of type name "nzzzzzzzzzzzzzzz"  (declared at line 23)
复制代码


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

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2021-7-31
在线时间
2 小时
发表于 2021-8-5 14:45:48 | 显示全部楼层
如果真正理解了#include的机制,就不会出这种错误了。建议看下:
嵌入式基础--你真的了解头文件吗
https://mp.weixin.qq.com/s/YovvEdRBkzwT4CkY1UWR4A
回复 支持 1 反对 1

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3329
金钱
3329
注册时间
2011-11-10
在线时间
207 小时
发表于 2021-8-2 21:50:38 | 显示全部楼层
你这是移植的程序。你试试删掉那些文件,然后重新新建。
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2020-11-8
在线时间
23 小时
 楼主| 发表于 2021-8-3 08:47:23 | 显示全部楼层
自问自答吧:
.h头文件中如果没有定义#ifndef、#define以及#endif,在定义结构体时会编译会出现报错。
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2020-11-8
在线时间
23 小时
 楼主| 发表于 2021-12-20 15:37:32 | 显示全部楼层
wenbodong 发表于 2021-8-5 14:45
如果真正理解了#include的机制,就不会出这种错误了。建议看下:
嵌入式基础--你真的了解头文件吗
https: ...

感谢!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 17:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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