OpenEdv-开源电子网

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

使用工程模板建立的LED跑马灯工程编译出错

[复制链接]

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2014-2-18
在线时间
8 小时
发表于 2014-11-23 16:46:03 | 显示全部楼层 |阅读模式
5金钱
下面的代码,当我只是用一路GPIOB 5就没有问题,如果把GPIOE 5也用了,就会编译出错
错误是:main.c(18): error:  #268: declaration may not appear after executable statement in block
是什么原因呢???
刚刚开始学习stm32,使用战舰开发板的
[mw_shl_code=c,true]#include "stm32f10x.h" #include "sys.h" #include "delay.h" #include "usart.h" int main(void) { delay_init(); GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_5); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5; GPIO_Init(GPIOE,&GPIO_InitStructure); GPIO_SetBits(GPIOE,GPIO_Pin_5); while(1) { GPIO_ResetBits(GPIOB,GPIO_Pin_5); GPIO_ResetBits(GPIOE,GPIO_Pin_5); delay_ms(500); GPIO_SetBits(GPIOB,GPIO_Pin_5); GPIO_SetBits(GPIOE,GPIO_Pin_5); delay_ms(500); } }[/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

除了在函数里面局部使用变量时,可以在执行语句后面声明变量,但需要用{} 标定界限,否则不能在可执行语句后面再有声明,声明的GPIO初始化配置的结构体变量放最前面
从事工业串口屏,串口屏让您的开发更加简单。联系方式18911306494、QQ微信同号1285144252莫炎森
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-12-26
在线时间
1 小时
发表于 2014-11-23 16:46:04 | 显示全部楼层
除了在函数里面局部使用变量时,可以在执行语句后面声明变量,但需要用{} 标定界限,否则不能在可执行语句后面再有声明,声明的GPIO初始化配置的结构体变量放最前面
回复

使用道具 举报

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2014-2-18
在线时间
8 小时
 楼主| 发表于 2014-11-23 19:22:04 | 显示全部楼层
回复【2楼】kassandra:
---------------------------------
嗯,我把GPIO_InitTypeDef GPIO_InitStructure;放在delay_init();前面是可以编译了。但是我还是不太理解之前不能编译的原因,在C51中我好像也遇到过这个问题。
从事工业串口屏,串口屏让您的开发更加简单。联系方式18911306494、QQ微信同号1285144252莫炎森
回复

使用道具 举报

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2014-2-18
在线时间
8 小时
 楼主| 发表于 2014-11-23 19:22:15 | 显示全部楼层
回复【2楼】kassandra:
---------------------------------
谢谢!
从事工业串口屏,串口屏让您的开发更加简单。联系方式18911306494、QQ微信同号1285144252莫炎森
回复

使用道具 举报

17

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-12-26
在线时间
1 小时
发表于 2014-11-23 19:43:16 | 显示全部楼层
回复【3楼】moyansen:
---------------------------------
你记住就行了,声明放在语句之前
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-28 23:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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