C 语言的问题
下面是一段程序:voidGPIOInit(void){LPC_PINCON->PINSEL0&=~(0x3<<22);/*将P0.11初始化为GPIO功能*/LPC_GP...
下面是一段程序:
void GPIOInit( void )
{
LPC_PINCON->PINSEL0 &= ~(0x3 << 22); /* 将P0.11初始化为GPIO功能 */
LPC_GPIO0->FIODIR |= BEEP; /* 将P0.11方向设置为输出 */
LPC_GPIO0->FIOSET |= BEEP; /* 将P0.11初始化输出高电平 */
}
我们就说第一句吧:我们仅仅从C语言的角度来分析:
LPC_PINCON->PINSEL0 &= ~(0x3 << 22); 当中的->是什么意思?
还有:~(0x3 << 22)是什么意思?
整第一句是什么意思??
给解释一下,谢谢。 展开
void GPIOInit( void )
{
LPC_PINCON->PINSEL0 &= ~(0x3 << 22); /* 将P0.11初始化为GPIO功能 */
LPC_GPIO0->FIODIR |= BEEP; /* 将P0.11方向设置为输出 */
LPC_GPIO0->FIOSET |= BEEP; /* 将P0.11初始化输出高电平 */
}
我们就说第一句吧:我们仅仅从C语言的角度来分析:
LPC_PINCON->PINSEL0 &= ~(0x3 << 22); 当中的->是什么意思?
还有:~(0x3 << 22)是什么意思?
整第一句是什么意思??
给解释一下,谢谢。 展开
2个回答
2011-11-23
展开全部
LPC_PINCON是一个结构体指针,引用结构体成员PINSEL0变量;
十六进制0x3左移22位后取反;
再用该结构体变量跟等号右边的计算结果按位做与运算;
结果保存于LPC_PINCON指针所指向的结构体的PINSEL0变量中。
十六进制0x3左移22位后取反;
再用该结构体变量跟等号右边的计算结果按位做与运算;
结果保存于LPC_PINCON指针所指向的结构体的PINSEL0变量中。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |