记录学习STM32的问题,及办法
时间:10-02
整理:3721RD
点击:
(转载):在网上找到别人的解决办法
使用MDK调试的时候,出现一下错误:
error: #268: declaration may not appear after executablestatement
查询后发现问题:
变量的声明,不能放在可执行语句的后面,必须在主函数开头声明变量!
在程序中申明一个变量时,会出现以上错误。
出现编译错误的函数如下:
u16 F;
u8 data='A';
RCC_Configuration();
GPIO_Configuration();
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate=9600;
USART_InitStructure.USART_Mode=USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_Init(USART1,&USART_InitStructure);
USART_Cmd(USART1,ENABLE);
for(F=0;F<20;F++)
{
USART1->DR = data;
data++;
while((USART1->SR & (1<<6))==0) ;
}
改正后,编译OK的函数如下:
u16 F;
u8 data='A';
USART_InitTypeDef USART_InitStructure;
RCC_Configuration();
GPIO_Configuration();
USART_InitStructure.USART_BaudRate=9600;
USART_InitStructure.USART_Mode=USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_Init(USART1,&USART_InitStructure);
USART_Cmd(USART1,ENABLE);
for(F=0;F<20;F++)
{
USART1->DR = data;
data++;
while((USART1->SR & (1<<6))==0) ;
}
}
相互对比,可以很快发现问题的出处,改正后,重新编译,编译OK!
使用MDK调试的时候,出现一下错误:
error: #268: declaration may not appear after executablestatement
查询后发现问题:
变量的声明,不能放在可执行语句的后面,必须在主函数开头声明变量!
在程序中申明一个变量时,会出现以上错误。
出现编译错误的函数如下:
u16 F;
u8 data='A';
RCC_Configuration();
GPIO_Configuration();
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate=9600;
USART_InitStructure.USART_Mode=USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_Init(USART1,&USART_InitStructure);
USART_Cmd(USART1,ENABLE);
for(F=0;F<20;F++)
{
USART1->DR = data;
data++;
while((USART1->SR & (1<<6))==0) ;
}
改正后,编译OK的函数如下:
u16 F;
u8 data='A';
USART_InitTypeDef USART_InitStructure;
RCC_Configuration();
GPIO_Configuration();
USART_InitStructure.USART_BaudRate=9600;
USART_InitStructure.USART_Mode=USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_Init(USART1,&USART_InitStructure);
USART_Cmd(USART1,ENABLE);
for(F=0;F<20;F++)
{
USART1->DR = data;
data++;
while((USART1->SR & (1<<6))==0) ;
}
}
相互对比,可以很快发现问题的出处,改正后,重新编译,编译OK!