[求助] 请教HWREG读引脚

renxuebei   2012-1-5 10:13 楼主
昨天看了一个函数,这样写的:    return HWREG(GPIO_PORTC_BASE+GPIO_O_DATA+(0xff<<2))&0x80;
目的是为了读PC7的值并且以unit8型返回,对他这个0xff <<2不太理解,我自己这样写了一个:
    return (GPIOPinRead(GPIO_PORTC_BASE,GPIO_PIN_7))&&0x80;    不知道对不对,麻烦看一下。谢谢。

回复评论 (4)

0xff <<2,的意思是读取所有引脚的值。如下图所示。

 

 

GPIOPinRead(GPIO_PORTC_BASE,GPIO_PIN_7)已经是设定为读取0x80的值了,即HWREG(ulPort + (GPIO_O_DATA + (0x080 << 2))不需要再&&0x80

  • 11.JPG
点赞  2012-1-5 13:43

回复 沙发 hlx3012 的帖子

谢谢,GPIOPinRead(GPIO_PORTC_BASE,GPIO_PIN_7)这样就可以了吧,返回的值除了第七位,其他的位都是0吧
点赞  2012-1-5 14:15
是的
点赞  2012-1-5 14:33
二楼正解,这样可以提高访问速度
点赞  2012-1-5 17:44
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复