error: declaration may not appear after executable statement in block

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kiti1013/article/details/48229349
这个问题是在编译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); //使能复用功能时钟

猜你喜欢

转载自blog.csdn.net/kiti1013/article/details/48229349