在线时间20 小时
UID197370
注册时间2019-9-21
NXP金币0
TA的每日心情 | 开心 2021-5-17 17:00 |
---|
签到天数: 14 天 连续签到: 1 天 [LV.3]偶尔看看II
中级会员
 
- 积分
- 277
- 最后登录
- 2022-1-4
|
看了一下使用手册,P0.22/P0.23是I2C引脚,上电后默认为I2C功能,现在我想让其处于I/O口功能,程序如下:
初始化:
/* 放在此处也不行
Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 22, (IOCON_FUNC0 | IOCON_MODE_PULLUP | IOCON_DIGMODE_EN|IOCON_OPENDRAIN_EN));
Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 23, (IOCON_FUNC0 | IOCON_MODE_PULLUP | IOCON_DIGMODE_EN|IOCON_OPENDRAIN_EN));
Chip_SWM_FixedPinEnable(SWM_FIXED_I2C0_SDA, 0);
Chip_SWM_FixedPinEnable(SWM_FIXED_I2C0_SCL, 0);
*/
Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 7);
Chip_GPIO_SetPinState(LPC_GPIO,0, 7, true);
Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 22);
Chip_GPIO_SetPinState(LPC_GPIO,0, 22, true);
Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 23);
Chip_GPIO_SetPinState(LPC_GPIO,0, 23, true);
Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 22, (IOCON_FUNC0 | IOCON_MODE_PULLUP | IOCON_DIGMODE_EN|IOCON_OPENDRAIN_EN));
Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 23, (IOCON_FUNC0 | IOCON_MODE_PULLUP | IOCON_DIGMODE_EN|IOCON_OPENDRAIN_EN));
Chip_SWM_FixedPinEnable(SWM_FIXED_I2C0_SDA, 0);
Chip_SWM_FixedPinEnable(SWM_FIXED_I2C0_SCL, 0);
使用在定时一秒时,翻转一次:
Chip_GPIO_SetPinToggle(LPC_GPIO,0, 22); // 万用表测量,没有翻转
Chip_GPIO_SetPinToggle(LPC_GPIO,0, 23); // 万用表测量,没有翻转
Chip_GPIO_SetPinToggle(LPC_GPIO,0, 7); // // 万用表测量,有翻转
想问一下,那里设置不对?
最佳答案
请将下面的引脚功能配置代码,将IOCON_FUNC0设置成IOCON_FUNC1吧
Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 22, (IOCON_FUNC0 | IOCON_MODE_PULLUP | IOCON_DIGMODE_EN|IOCON_OPENDRAIN_EN));
Chip_IOCON_Pin ...
|
|