error: declaration may not appear after executable statement in block

来源:互联网 发布:ubuntu安装虚拟机 编辑:程序博客网 时间:2024/05/16 05:08
这个问题是在编译STM32的程序时遇到的,这个错误的原因是对于变量的声明不能放在可执行语句后面,必须在主函数开头声明变量。在程序中声明一个变量时,需要在可执行语句之前声明,否则会出现以上错误。
在keil中编写stm32代码报错如标题
错误代码部分如下
void EXTIX_Init(void)
{
 
    Edge_Io_Init();
  EXTI_InitTypeDef EXTI_InitStructure;
  NVIC_InitTypeDef NVIC_InitStructure;


    


  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//使能复用功能时钟


修改为如下即可
void EXTIX_Init(void)
{
 
 
  EXTI_InitTypeDef EXTI_InitStructure;
  NVIC_InitTypeDef NVIC_InitStructure;
    Edge_Io_Init();
    


  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//使能复用功能时钟
0 0