智能车制作
标题:
IAR中for循环定义变量的作用域
[打印本页]
作者:
gufeng
时间:
2014-2-12 11:17
标题:
IAR中for循环定义变量的作用域
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
作者:
huang91
时间:
2014-2-12 11:29
是的
作者:
liningbo888
时间:
2014-2-12 12:01
局部变量
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2