你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

keil5 编译通过,可main文件却显示错误

[复制链接]
su-409464 提问时间:2018-3-6 11:28 /
如图所示,使用demo模板,编译通过后,显示没有错误 没有警告。

但是打开main 文件的时候 却显示  一个LED 翻转的  宏  是没有声明GPIO。

可以go to define 却都是正确的~~~ 是不是路径没有设置对?


2018-03-06_112436.jpg
收藏 评论9 发布时间:2018-3-6 11:28

举报

9个回答
七哥 回答时间:2018-3-6 11:41:30
关闭工程,重新打开,如果“红叉”还在的话,那就是真的没有定义或没有声明“GPIO_PIN_4”。
你的LED_TOGGLE反转在什么地方宏定义的?
如果不是在main.c中宏定义,而是在别的文件中宏定义,在宏定义的文件中添加了包含GPIO_PIN_4的头文件,而main.c中没有包含GPIO_PIN_4的头文件。这种情况,你只要把包含GPIO_PIN_4的头文件添加include进main.c就可以了。不过还是建议LED_TOGGLE定义成函数,而不要搞成宏定义。如果定义成函数,则函数内部使用的GPIO_PIN_4就与main.c没关系了。

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

su-409464 回答时间:2018-3-6 11:59:04
toofree 发表于 2018-3-6 11:41
关闭工程,重新打开,如果“红叉”还在的话,那就是真的没有定义或没有声明“GPIO_PIN_4”。
你的LED_TOGGL ...

谢谢 你, 应该在 bsp.h 中的 include 一下 库 文件关于  gpio的 定义文件(即#include "stm32f0xx_gpio.h")

另外 keil 5好像有点延迟 有些错误 要关掉页面,打开之后 才会更新过来
七哥 回答时间:2018-3-6 12:04:39
su-409464 发表于 2018-3-6 11:59
谢谢 你, 应该在 bsp.h 中的 include 一下 库 文件关于  gpio的 定义文件(即#include "stm32f0xx_gpio. ...

是的,关于你说的“Keil延迟”,习惯就好了。从我接触keil,这个问题就存在,这个咱用户无法干预,只能适应。
lmm2014 回答时间:2018-3-6 12:48:42
个人习惯上关闭动态语法检查,否侧一堆莫名其妙的红色叉叉太让人蛋疼了!

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

maxtch 回答时间:2018-3-6 13:19:24
lmm2014 发表于 2018-3-6 12:48
个人习惯上关闭动态语法检查,否侧一堆莫名其妙的红色叉叉太让人蛋疼了!
...

这个更多的是 Keil 动态语法检查的 bug。只要编译能过就没什么大问题。
MrJiu 回答时间:2018-3-6 13:46:11
keil的语法实时提示就是这个样子的啦,以编译提示为主就好了!!!

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

无薪税绵 回答时间:2018-3-6 14:51:52
这个是KEIL的问题,我也经常遇到。
只要编译能过,就证明没有问题了。

如果有强迫症的话,
只要在有错误提示的那一行,
添加一个空格,保存,再删除空格,保存,
就可以正常了。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

Angel_YY_ST 回答时间:2018-3-6 15:01:39
提示: 作者被禁止或删除 内容自动屏蔽
STM1024 回答时间:2018-3-6 17:30:24
这个问题很常见,就是你编辑一行到半路的时候,Keil就给你报错,不过能编译通过的话就OK了
通常我消除这个X的方法是在该行上面敲一空行,一般没错的话×会消失。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版