虽然GPIO2上的LED正常工作,但在LPC1768的GPIO1上

虽然GPIO2上的LED正常工作,但在LPC1768的GPIO1上,c,embedded,gpio,nxp-microcontroller,lpc,C,Embedded,Gpio,Nxp Microcontroller,Lpc,我有一个自定义板与设备LPC1768。尽管所有其他功能(如SPI上的LCD、以太网、I2C EEPROM等)都正常, 出于某种原因,虽然我可以打开和关闭GPIO2上的LED,但我无法对GPIO1上的引脚执行相同的操作。也许我不应该责怪整个GPIO1(或我自己),但至少是我试图使用的部分 若我在其中一个GPIO1引脚上连接一个按钮(带有内部上拉并作为输出) 我可以按原样读取按钮输入 以下是根据本标准的定义部分 而引脚P2.5上的LED会按其应有的状态打开和关闭 FIO2SET = (1uL <

我有一个自定义板与设备LPC1768。尽管所有其他功能(如SPI上的LCD、以太网、I2C EEPROM等)都正常, 出于某种原因,虽然我可以打开和关闭GPIO2上的LED,但我无法对GPIO1上的引脚执行相同的操作。也许我不应该责怪整个GPIO1(或我自己),但至少是我试图使用的部分

若我在其中一个GPIO1引脚上连接一个按钮(带有内部上拉并作为输出) 我可以按原样读取按钮输入

以下是根据本标准的定义部分

而引脚P2.5上的LED会按其应有的状态打开和关闭

FIO2SET = (1uL << 5); // P2.5
FIO2CLR = (1uL << 5); // P2.5

非常感谢您的任何输入。

您是否验证了您的
FIO1SET
是否指向与
LPC\u GPIO1->FIOSET
相同的地址?您也可以使用不同于
0xffffffff
的值来查看哪个位真正控制您的LED。听起来像典型的引脚布线噩梦。查看PINSEL3登记簿。谢谢Gerhardh和Lundin。我查过了。但是,这与此无关。然后我想测试一下,如果我删除按钮初始化例程,因为它们在同一个GPIO1上,会发生什么。然后LED开始工作(打开和关闭)!现在我还有一个问题要问你。这条线起作用并影响LED引脚:
FIO1DIR&=(1uL所有驱动某个器件的引脚都应设置为输出。即使您通过将端口拉低(低电平激活)来吸收电流。因此,应始终设置相应的数据方向寄存器。对于按钮,您可以将其作为输入,并且必须使用拉电阻-内部或外部。
FIO1DIR&=(1uL
FIO2SET = (1uL << 5); // P2.5
FIO2CLR = (1uL << 5); // P2.5
FIO1SET = (1uL << 18); // P1.18
LPC_GPIO1->FIOSET = 0xffffffff;
LPC_GPIO1->FIOCLR = 0xffffffff;