野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13406|回复: 5

不知道为何错

[复制链接]
发表于 2016-10-14 21:10:24 | 显示全部楼层 |阅读模式
在include里面也包含了的    不明白为什么会这样,按键工程  这是上传到360云盘的工程https://yunpan.cn/cvBjDY6AhLuqb  访问密码 4adf
$`DT72H_UXT9GHR8AAAD0AV.png
P_6}CBY)8(O1_QF7%PP4305.png
回复

使用道具 举报

发表于 2016-10-15 08:58:36 | 显示全部楼层
编译,看看编译提示
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-15 10:41:55 | 显示全部楼层
flyleaf 发表于 2016-10-15 08:58
编译,看看编译提示

*** Using Compiler 'V5.05 update 2 (build 169)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'Target 1'
compiling main.c...
..\User\main.c(32): error:  #268: declaration may not appear after executable statement in block
   void Key_GPIO_Config(void);
..\User\main.c(33): warning:  #174-D: expression has no effect
        
EY_ON;
..\User\main.c(37): error:  #20: identifier "macKEY1_GPIO_PORT" is undefined
                if( Key_Scan(macKEY1_GPIO_PORT,macKEY1_GPIO_PIN) == KEY_ON  )
..\User\main.c(37): error:  #20: identifier "macKEY1_GPIO_PIN" is undefined
                if( Key_Scan(macKEY1_GPIO_PORT,macKEY1_GPIO_PIN) == KEY_ON  )
..\User\main.c: 1 warning, 3 errors
compiling KEY.c...
..\User\KEY\KEY.c(10): error:  #20: identifier "macKEY1_GPIO_CLK" is undefined
        RCC_APB2PeriphClockCmd(macKEY1_GPIO_CLK,ENABLE);
..\User\KEY\KEY.c(12): error:  #20: identifier "GPIO_InitStructure" is undefined
  GPIO_InitStructure.GPIO_Pin = macKEY1_GPIO_PIN;
..\User\KEY\KEY.c(12): error:  #20: identifier "macKEY1_GPIO_PIN" is undefined
  GPIO_InitStructure.GPIO_Pin = macKEY1_GPIO_PIN;
..\User\KEY\KEY.c(16): error:  #20: identifier "macKEY1_GPIO_PORT" is undefined
        GPIO_Init(macKEY1_GPIO_PORT, &GPIO_InitStructure);
..\User\KEY\KEY.c: 0 warnings, 4 errors
".\Objects\led.axf" - 7 Error(s), 1 Warning(s).
Target not created.
Build Time Elapsed:  00:00:03
回复 支持 反对

使用道具 举报

发表于 2016-10-15 12:07:50 | 显示全部楼层
第一个错误
declaration may not appear after executable statement in block
声明不能放在执行的语句前

宏的错误
你头文件里使用了宏 KEY1_PAO,所以只有KEY2的宏是有效的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-15 13:01:58 | 显示全部楼层
flyleaf 发表于 2016-10-15 12:07
第一个错误
declaration may not appear after executable statement in block
声明不能放在执行的语句前 ...

懂了  懂了   谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-15 13:32:42 | 显示全部楼层
flyleaf 发表于 2016-10-15 12:07
第一个错误
declaration may not appear after executable statement in block
声明不能放在执行的语句前 ...

define定义宏
#undef取消已定义的宏
#if如果给定条件为真,则编译下面代码
#ifdef如果宏已经定义,则编译下面代码
#ifndef如果宏没有定义,则编译下面代码
#elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
#endif结束一个#if……#else条件编译块
#error停止编译并显示错误信息



百度了一下    又学到了c语言知识
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 23:18 , Processed in 0.033946 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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