This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:TI C/C++编译器
您好 TI
希望有人能帮助我了解 I2C 协议
我一直在 SCK 引脚上生成时钟、 但示波器始终读取低电平 、而不会生成任何时钟
我一直在处理此代码
//配置 I2C 的 GPIO
P1OUT &=~BIT0;//清除 P1.0输出锁存器
P1DIR |= BIT0;//表示 LED
P1SEL0 |= BIT2 | BIT3;// I2C 引脚
//禁用 GPIO 上电默认高阻抗模式以激活
//先前配置的端口设置
PM5CTL0 &=~LOCKLPM5;
//将 USCI_B0配置为 I2C 模式
UCB0CTLW0 |= UCSWRST;//启用软件复位
UCB0CTLW0 |= UCMODE_3 | UCMST | UCSYNC;// I2C 模式、主控模式、同步
UCB1CTLW0 |= UCTR + UCTXSTT;
UCB0CTLW1 |= UCASTP_2;//生成自动停止
//到达 UCB0TBCNT 后
UCB0BRW = 0x0008;//波特率= SMCLK / 8
UCB0TBCNT = 0x0005;//要接收的字节数
UCB0I2CSA = 0x2A;//从器件地址
UCB0CTL1 &=~UCSWRST;
因此、如果有人可以帮助我了解如何通过初始化 I2C 的代码生成时钟
提前感谢
此致、
Sherif Ismail
您好、Sherif、
您使用什么硬件进行测试? 如果您使用与 MSP430FR2355关联的 Launchpad、 您应该能够使用 TI Resource Explorer 中提供的 I2C 示例轻松上手使用 I2C 通信。这里的示例展示了如何正确初始化和连接主板和从板以实现两者之间的 I2C 通信。 如果您使用的是定制硬件、则需要进入示例代码、并确保为您的特定硬件设置初始化了正确的端口引脚。
请不要忘记、为了实现正确的 I2C 通信、您需要为 SDA 和 SCL 线路使用2个单独的上拉电阻器。
此致、
Matt
您好 Matt
感谢您的盛情款待。
实际上、即使使用示波器读取信号也无法正常工作我正在进行 LDC1614_EVM 的配置、 因为您可以看到它使用的是 I2C 串行通信协议我使用的是 LDC1614驱动器配置、但我在进行工作时仍面临问题 I2C 我甚至无法生成任何单个时钟、我甚至无法传输任何数据、这是我在这方面感到不好的原因。
因此,我希望有机会帮助我克服这一问题。 我还想问的另一个问题是、除了内部上拉电阻之外、我是否还使用外部上拉电阻、或者是否不需要这样做。
最后,我还要感谢你的帮助。
此致
Sherif Ismail。
Sherif、
您的初始帖子引用了 MSP430FR2355、但您的最后一条评论提到了 LDC1614_EVM。 请您确切地说明您用于 I2C 测试的硬件。
您是否曾尝试从 TI Resource Explorer 导入基本 I2C 示例、以查看您是否至少能够测量从器件引脚发出的正确 I2C 信号? 为了让示波器正确测量 I2C 信号、您需要使用器件数据表中给出的电阻器值将 I2C 线路上拉至 VCC。
此致、
Matt
Matt、您好!
我尝试将 MSP430FR2355与 LDC1614EVM 中的 I2C 引脚通信。
是的、我已经尝试过 I2C 示例、同样、我无法在示波器上看到任何时钟信号、这就是为什么我想知道我的 Launchpad 是否存在问题、GPIO 引脚在 I2C 中如何在正常 I/O 工作时不工作 引脚。 我还想知道是否应该连接外部上拉电阻来生成 I2C SCL?
提前感谢
Sharif、
您能否附上一些图片、其中显示了在将 MSP430FR2355 LP 连接到 LDC1614EVM 并连接到 VCC 所需的 I2C 上拉电阻器的情况下的硬件设置? 除了图片外、示波器连接到电路板时的设置图将帮助我直观地了解为什么您可能看不到 SCL 线路上的时钟。
此致、
Matt
您好!
我在一个多星期内没有听到有关这个问题的消息,所以我会假设这个问题已经解决。 如果不是这种情况、请继续并评论、提供有关当前状态的更多信息。
此致、
Matt