智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1352|回复: 2
打印 上一主题 下一主题

IAR中for循环定义变量的作用域

[复制链接]

15

主题

168

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2419
威望
1433
贡献
598
兑换币
530
注册时间
2014-1-13
在线时间
194 小时
跳转到指定楼层
1#
发表于 2014-2-12 11:17:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IAR编程中在for循环定义的局部变量,例如for(uint i=0,i<8;i++),i的作用域只是for循环!?
uint8 LPLD_GPIO_Init(GPIO_InitTypeDef gpio_init_structure)
{
  uint8 i;
  PORT_Type *portx;
  uint32 pcr = PORT_PCR_MUX(1)| gpio_init_structure.GPIO_PinControl;
  GPIO_Type *ptx = gpio_init_structure.GPIO_PTx;
  uint32 pins = gpio_init_structure.GPIO_Pins;
  uint8 dir = gpio_init_structure.GPIO_Dir;
  uint8 output = gpio_init_structure.GPIO_Output;
  GPIO_ISR_CALLBACK isr_func = gpio_init_structure.GPIO_Isr;
  
  //参数检查
  ASSERT( ptx <= PTE);                  //判断端口
  ASSERT( dir <= 1 );                   //判断方向
  ASSERT( output <= 1 );                //判断输出电平状态
  
  if(ptx == PTA)
  {
    portx = PORTA;  
    i = 0;
  }
  else if(ptx == PTB)
  {
    portx = PORTB;
    i = 1;
  }
  else if(ptx == PTC)
  {
    portx = PORTC;
    i = 2;
  }
  else if(ptx == PTD)
  {
    portx = PORTD;
    i = 3;
  }
  else if(ptx == PTE)
  {
    portx = PORTE;
    i = 4;
  }
  else
    return 0;
  
  //输入或输出设置
  if(dir==DIR_OUTPUT)
  {
    ptx->PDDR |= pins;
    //设置初始输出
    if(output==OUTPUT_H)
    {
      ptx->PSOR = pins;
    }
    else
    {
      ptx->PCOR = pins;
    }
  }
  else
  {
    ptx->PDDR &= ~(pins);
  }
  
  //配置所选引脚的控制寄存器
  for(uint8 i=0; i<32; i++)
  {
    if(pins&(1ul<<i))//选择引脚号
    {
      portx->PCR[i] = pcr;//
    }
  }

  if(isr_func!=NULL)
    GPIO_ISR[i] = isr_func;//
  
  return 1;
}

GPIO的初始化中已经定义了uint i;然后在for循环中又定义了uint i


回复

使用道具 举报

47

主题

1053

帖子

1

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
30470

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章优秀版主奖章资源大师奖章

威望
19639
贡献
7175
兑换币
2325
注册时间
2012-2-1
在线时间
1828 小时
2#
发表于 2014-2-12 11:29:40 | 只看该作者
是的
回复 支持 反对

使用道具 举报

8

主题

427

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3745

优秀会员奖章活跃会员奖章

威望
1724
贡献
1033
兑换币
1170
注册时间
2013-2-1
在线时间
494 小时
3#
发表于 2014-2-12 12:01:58 | 只看该作者
局部变量
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-20 07:06 , Processed in 0.066297 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表