硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2669|回复: 11
收起左侧

[以太网] 请教下,stm32h7x hal v1.8 的库里面 eth 的库头文件里面有个 #if defined(ETH) 这个定义 ?

[复制链接]

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
发表于 2020-6-18 11:26:08 | 显示全部楼层 |阅读模式
请教下,stm32h7xx 在 头文件 #include "stm32h7xx_hal_eth.h"

这个里面 有个

#if defined(ETH)   这个宏,貌似 头文件里面 在 mdk 环境下 显示成灰色,而且 #include "stm32h7xx_hal_eth.h" 文件里面也没有增加 stm32h7xx.h

请问下你们的也都是这个 吗 ? 那正常使用时是不是需要 吧 #if defined(ETH)    这个屏蔽 ??
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2020-6-18 11:30:51 | 显示全部楼层
看下是不是这个问题:

发现MDK5.25一个bug,语法检测机制中自动让条件编译中未使用的部分变成灰色,有时候是不正确的
http://www.armbbs.cn/forum.php?m ... 5910&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-6-18 11:50:38 | 显示全部楼层
eric2013 发表于 2020-6-18 11:30
看下是不是这个问题:

发现MDK5.25一个bug,语法检测机制中自动让条件编译中未使用的部分变成灰色,有时 ...

我使用的是 mdk v5.30 版本貌似也有这个情况,不知道 st 搞这么多 预条件 编译 有什么意图啊 ?

那 你们最终是如何解决的啊 ?

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2020-6-18 13:00:08 | 显示全部楼层
hpdell 发表于 2020-6-18 11:50
我使用的是 mdk v5.30 版本貌似也有这个情况,不知道 st 搞这么多 预条件 编译 有什么意图啊 ?

那 你 ...

解决不了,是个硬伤。
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-6-18 13:57:24 | 显示全部楼层
eric2013 发表于 2020-6-18 13:00
解决不了,是个硬伤。

看来只能 把  #if defined(ETH)  这个给屏蔽拉倒了啊
回复

使用道具 举报

2

主题

73

回帖

84

积分

初级会员

积分
84
发表于 2020-6-18 15:01:44 | 显示全部楼层
H7 不是所有型号都支持 ETH, 所以应该是在支持的型号上才允许编译, 比如  stm32h750xx.h 里面是有这个外设的,但在 stm32h7b0xx.h 里面就没有这个外设了
回复

使用道具 举报

16

主题

148

回帖

196

积分

初级会员

积分
196
发表于 2020-6-18 15:56:52 | 显示全部楼层
eric2013 发表于 2020-6-18 13:00
解决不了,是个硬伤。

硬汉兄 我看MDK已经比IAR好多了 MDK现在这个会乱显示灰色的情况有没有好点
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2020-6-18 15:58:18 | 显示全部楼层
dyhfaily 发表于 2020-6-18 15:56
硬汉兄 我看MDK已经比IAR好多了 MDK现在这个会乱显示灰色的情况有没有好点

没有,还是老样子。
回复

使用道具 举报

16

主题

148

回帖

196

积分

初级会员

积分
196
发表于 2020-6-18 16:00:40 | 显示全部楼层
eric2013 发表于 2020-6-18 15:58
没有,还是老样子。

IAR更离谱 比如stm32F4xx_hal_gpio.c里的函数全是灰色的  我看mdk起码这里还是正常的
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-6-18 16:01:01 | 显示全部楼层
tsetse 发表于 2020-6-18 15:01
H7 不是所有型号都支持 ETH, 所以应该是在支持的型号上才允许编译, 比如  stm32h750xx.h 里面是有这个外 ...

ETH  这个 在 stm32h743xx.h 的头文件里面有个 宏定义的,

#define ETH                 ((ETH_TypeDef *)ETH_BASE)

这个宏定义在 stm32h7xx_hal_eth.h 里面检测不到啊


回复

使用道具 举报

2

主题

73

回帖

84

积分

初级会员

积分
84
发表于 2020-6-18 20:25:29 | 显示全部楼层
hpdell 发表于 2020-6-18 16:01
ETH  这个 在 stm32h743xx.h 的头文件里面有个 宏定义的,

#define ETH                 ((ETH_TypeDe ...

应该是包含文件顺序的问题吧

回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-6-18 21:14:56 | 显示全部楼层
tsetse 发表于 2020-6-18 20:25
应该是包含文件顺序的问题吧

这个是 st 提供的库里面的,我没有任何更改的
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 16:01 , Processed in 0.188730 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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