TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS570LC4357: 请问使用LAUNCHPAD XL2开发板上的I2C1的两个引脚可以直接与其他I2C设备通信吗

Part Number:TMS570LC4357Other Parts Discussed in Thread:HALCOGEN

你好,

我现在使用了LAUNCHXL2 570LC43开发板,我尝试使用板子上引出的I2C1的两个引脚与其他板子上的I2C设备通信。

我使用了下图中的J2的1号(GND) 8号和9号 分别连接到其他板子上的GND和I2C管脚。

我的HALCoGen配置如下

我在main函数中先调用了i2cInit()函数,然后我尝试与我的设备通信,但是程序一直开在i2cIsMasterReady或者i2cSendByte函数无法往下继续。

我用示波器抓取了两个管脚没有看到任何波形。

请问能否像我这样直接连接呢?

Cherry Zhou:

您好我们已收到您的问题并升级到英文论坛寻求帮助,应该会在下个工作日给到您答复,谢谢!

,

Cherry Zhou:

您好,

1) 请问I2C SCL 和 SDA 有没有通过电阻器上拉? TMS570 开发板在 I2C 线路上没有外部上拉电阻器。 I2C SCL 和 SDA 线路均为开漏,因此 I2C 模块可以驱动 SCL 和 SDA 低电平,但不能置高。为了使这两条线路能够高电平,您必须提供外部上拉电阻器。

2)在 TMS570LC43x 器件上,I2C 信号与 MibSPI 信号复用,默认情况下引脚用于 MibSPI。 请问您是否配置了 Pinmux ?

,

?? ?:

请您看下我的回复,谢谢

,

?? ?:

您好,

1) 我要通信的从机设备的板子上是有上拉的,我可以使用另外的开发板直接和那个设备通信,这个验证过了。

2)我之前没有配置pinmux。关于pinmux我有个疑问,我在Driver Enable里没有使能MibSPI模块,只使能了I2C1,这样仍然需要配置pinmux吗?

另外,我按照您的说明配置了pinmux,同时在我的程序里调用了muxInit();

但是 仍然无法通信,i2cIsMasterReady仍然无法返回。

,

Cherry Zhou:

看到了哈,因为是升级到英文论坛等国外工程师的答复,正常情况下都会在24小时内给您答复的。

?? ? 说:我在Driver Enable里没有使能MibSPI模块,只使能了I2C1,这样仍然需要配置pinmux吗?

无论模块是否使能,都应配置 Pinmux。

?? ? 说:但是 仍然无法通信,i2cIsMasterReady仍然无法返回

调用 i2cSendByte() 后,在 SCL 线路上能看到时钟信号吗?以及在 SDA 线路上有没有数据波形?

,

?? ?:

好的,我看到给的例程里也没提到需要配置PINMUX,还有我在HALCoGen中配置了PINMUX,是不是需要在程序初始化的时候调用muxInit()?

我没有看到时钟波形。

,

Cherry Zhou:

好的感谢您提供的信息,已经跟进给工程师了哈。

,

Cherry Zhou:

您好,

?? ? 说:是不是需要在程序初始化的时候调用muxInit()?

muxInit()在 HAL 代码的 systemInit()中调用,您不需要再次调用此函数。

连接 I2C 从机后,SCL 和 SDA 是否为高电平? 不是的话,在I2C 从板上的上拉电阻器将无法工作。

如果 SCL 和 SDA 被正确上拉,这两条线路应该为高电平。当你调用 i2CStart() API 时,I2C 模块将发出一个启动条件并发送从机地址。 

,

?? ?:

谢谢,我确认了是上拉的问题

赞(0)
未经允许不得转载:TI中文支持网 » TMS570LC4357: 请问使用LAUNCHPAD XL2开发板上的I2C1的两个引脚可以直接与其他I2C设备通信吗
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1