stm32f302在程序编译时出现如下错误
..\LibStm32\Source\stm32f30x_hrtim.c(1139): error:#268: declaration may not appear after executable statement in blockFlagStatus bitstatus = RESET;
这个是怎么引起的?求高手帮忙解决。谢谢
楼主把前后的代码都发出来。还有FlagStatus 的定义。 貌似是未定义 安 发表于 2015-4-30 15:16
楼主把前后的代码都发出来。还有FlagStatus 的定义。
FlagStatus HRTIM_GetFlagStatus(HRTIM_TypeDef * HRTIMx, uint32_t TimerIdx, uint32_t HRTIM_FLAG)
{
assert_param(IS_HRTIM_TIMERINDEX(TimerIdx));
FlagStatus bitstatus = RESET;
switch(TimerIdx)
{
case HRTIM_TIMERINDEX_MASTER:
{
if ((HRTIMx->HRTIM_MASTER.MISR & HRTIM_FLAG) != RESET)
{
bitstatus = SET;
}
else
{
bitstatus = RESET;
}
}
break;
case HRTIM_TIMERINDEX_TIMER_A:
case HRTIM_TIMERINDEX_TIMER_B:
case HRTIM_TIMERINDEX_TIMER_C:
case HRTIM_TIMERINDEX_TIMER_D:
case HRTIM_TIMERINDEX_TIMER_E:
{
if ((HRTIMx->HRTIM_TIMERx.TIMxISR & HRTIM_FLAG) != RESET)
{
bitstatus = SET;
}
else
{
bitstatus = RESET;
}
}
break;
default:
break;
}
return bitstatus;
}
你把assert_param(IS_HRTIM_TIMERINDEX(TimerIdx));放到FlagStatus bitstatus = RESET;后面。变量的定义要在语句前面。 安 发表于 2015-4-30 17:10
你把assert_param(IS_HRTIM_TIMERINDEX(TimerIdx));放到FlagStatus bitstatus = RESET;后面。变量的定 ...
谢谢你的回复。
页:
[1]