你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f302在程序编译时出现如下错误

[复制链接]
alisa123 提问时间:2015-4-30 15:00 /
..\LibStm32\Source\stm32f30x_hrtim.c(1139): error:  #268: declaration may not appear after executable statement in block
FlagStatus bitstatus = RESET;  
这个是怎么引起的?求高手帮忙解决。谢谢
赞 收藏 评论5 发布时间:2015-4-30 15:00

举报

5个回答
废鱼 回答时间:2015-4-30 15:16:40
楼主把前后的代码都发出来。还有FlagStatus 的定义。
hbzjt2012 回答时间:2015-4-30 15:17:39
貌似是未定义
alisa123 回答时间:2015-4-30 15:24:46
安 发表于 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[TimerIdx].TIMxISR & HRTIM_FLAG) != RESET)
      {
        bitstatus = SET;
      }
      else
      {
        bitstatus = RESET;
      }
    }
    break;

    default:
    break;  
  }   
  return bitstatus;
}
废鱼 回答时间:2015-4-30 17:10:08
你把assert_param(IS_HRTIM_TIMERINDEX(TimerIdx));放到  FlagStatus bitstatus = RESET;  后面。变量的定义要在语句前面。
alisa123 回答时间:2015-4-30 17:46:05
安 发表于 2015-4-30 17:10
你把assert_param(IS_HRTIM_TIMERINDEX(TimerIdx));放到  FlagStatus bitstatus = RESET;  后面。变量的定 ...

谢谢你的回复。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版