c - 虽然 GPIO2 上的 LED 工作正常,但在带有 LPC1768 的 GPIO1 上
问题描述
我有一个带有设备 LPC1768 的定制板。虽然其他所有功能(例如 SPI 上的 LCD、以太网、I2C EEPROM 等)都可以,但出于某种原因,虽然我可以打开和关闭 GPIO2 上的 LED,但我不能对 GPIO2 上的引脚执行相同操作GPIO1。也许我不应该责怪整个 GPIO1(或我自己),但至少是我尝试使用的部分。
如果我在其中一个 GPIO1 引脚上连接一个按钮(带有内部上拉电阻并作为输出),我可以按原样读取按钮输入。
这是根据用户手册的定义部分;
#define FIO_BASE_ADDR (0x2009C000)
#define FIO1CLR (*(volatile unsigned int *)(FIO_BASE_ADDR + 0x3C))
#define FIO2CLR (*(volatile unsigned int *)(FIO_BASE_ADDR + 0x5C))
#define FIO1SET (*(volatile unsigned int *)(FIO_BASE_ADDR + 0x38))
#define FIO2SET (*(volatile unsigned int *)(FIO_BASE_ADDR + 0x58))
当引脚 P2.5 上的 LED 按应有的状态打开和关闭时;
FIO2SET = (1uL << 5); // P2.5
FIO2CLR = (1uL << 5); // P2.5
P1.18 上的 LED 不亮;
FIO1SET = (1uL << 18); // P1.18
为了测试连接到 GPIO1 引脚的所有 LED,我编写了两行代码LPC17xx.h
,然后证明它可以工作,所有 LED 都相应地打开和关闭。
LPC_GPIO1->FIOSET = 0xffffffff;
LPC_GPIO1->FIOCLR = 0xffffffff;
任何输入高度赞赏。
解决方案
推荐阅读
- cisco - Cisco CCE:REST 更新请求错误消息:指定的 URL 不存在
- php - 在 api 调用中绕过 tumblr 隐私消息(旧 api)
- c# - 重新加载模型时,不会在类中重新生成数据注释
- c++ - 找不到 windows.winmd – 如果指定了路径,则错误相乘
- ffmpeg - ffmpeg - 确定哪些参数
- mongodb - 如何使用 moongose 将结果限制在一个类别中
- c# - UWP VisualTreeHelper.GetParent() 返回 null
- android - 调用异步任务和 onPostExecute 后如何绘制地图?
- javascript - 如何从 2 个集合 nodejs 和 mongodb 中获取关系信息
- android - 比较图像中的两个对象