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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版