我目前正在 LPC1769 上研究 GPIO,我有一个不太明白的问题。假设我有以下代码行:
LPC_GPIO2 -> FIODIR = 0xFFFFFFFF;
FIO_SetMask(2, 0xFFFF0000, 1);
LPC_GPIO2-> FIOPIN = 0xAAAAAAAA;
a = GPIO_ReadValue(2);
现在在这种情况下,第 1 个 4 被屏蔽 FFFF 但为什么 a 给我 0x00002AAA? FIOPIN 对这些位有何影响?
最佳答案
如 LPC1769 数据表第 16 页所述:
Port 2: Port 2 is a 32-bit I/O port with individual direction controls for each bit. The operation of port 2 pins depends upon the pin function selected via the pin connect block. Pins 14 through 31 of this port are not available.
那么从 31 到 14 的所有位始终为 0。
您将端口设置为 0xAAAAAAAA,但最后设置的位是位 13,然后是 0x00002AAA
关于c - LPC1769 FIOPIN 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30046604/