Microchip
直播中

张秀梅

8年用户 196经验值
私信 关注
[问答]

默认输入外设引脚选择吗?

嗨,我在PIC24FJ1024GB610上生成了一个使用I2C1的代码,但是SCL1和SDA1恰好在与RPI36和RPI35相同的引脚中。起初我认为我的I2C初始化是不正确的,因为在示波器上我看不到这些引脚上的任何活动。然后我想,让我在一段时间内把销子开得高低不等,看看它会不会开得高低不等,而且销子中仍然没有活动。它只是根据输入的大小而变高或变低。两个RA14和RA15都保持在高位(因为上拉而变高,这应该没关系,因为我把它开得很低)。“LED_Toggle”只是为了确保我在while循环中。为了测试这一点,我还驱动RA2(SCL2)和RA3(SDA2)高低,并且在示波器中可以在这些管脚上观察到高低,但不能在RA14和RA15上观察到。我知道RPIn管脚仅是可重映射的外围设备输入,但它们是否存在。默认情况下“只输入”?以及使用PIN功能作为I2C1数据输入/输出和SCL的任何帮助,而不是RPI引脚。

回帖(10)

吴键洪

2020-3-26 06:58:38
一旦启用了I2C外围设备,它就会控制管脚,而TRIS设置就会被忽略。您不能通过LATA寄存器手动驱动管脚的高/低,I2C外围设备完全控制它们。所以,丢弃这个没有证明任何东西的测试代码,并给我们展示代码。ED测试I2C外围设备。
举报

李淑嘉

2020-3-26 07:17:33
我确保I2C被I2C1CONLbits禁用。I2CEN=0;然后运行该代码。
举报

吴键洪

2020-3-26 07:26:40
II2C是一个开放的集电极总线,所以引脚在任何时候都是输入,除非驱动低。你需要解释什么是真正的问题,确切地说,你做了什么测试,以及你期望发生什么。
举报

李淑嘉

2020-3-26 07:31:47
好的,所以我想用I2C和温度传感器通信。我首先要检查我的图片是否检测到这个设备。它返回I2C_Err_NAK,它被定义为数字。但是这应该显示数据/时钟线是高还是低?我期待在时钟/数据引脚的一些活动,但什么也没有。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分