工具/软件:Code Composer Studio
您好!
我将 msp430f6659控制器用作主控制器、将 PCA9505用作通信协议之间的从控制器是具有400K 速率的 I2C。 我正在 对从器件执行写入操作和读取操作。 从从从器件读取数据后、有时我收到的数据是错误的、而我以前写入的数据是错误的。 如何解决问题、请帮助我。
此致、
P M Manoj Kumar。
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.
工具/软件:Code Composer Studio
您好!
我将 msp430f6659控制器用作主控制器、将 PCA9505用作通信协议之间的从控制器是具有400K 速率的 I2C。 我正在 对从器件执行写入操作和读取操作。 从从从器件读取数据后、有时我收到的数据是错误的、而我以前写入的数据是错误的。 如何解决问题、请帮助我。
此致、
P M Manoj Kumar。
您好、Manoj、
让我在这里快速回顾一下您的问题:
从从从器件(PCA9505)读取数据后、主器件(MSP430F6659)不会显示您之前发送的数据、而是显示错误的数据。 是这样吗?
首先、您可以查看我们为 MSP430器件提供的 I2C 软件示例。 您可以在 CCS 或 其在线版本中使用 TI Resource Explorer 、浏览到您的器件并查看 I2C 的软件示例。 这可能会为您提供指导。
另请查看 MSP430 MCU 上常见 eUSCI 和 USCI 串行通信问题的解决方案。
如果没有这些帮助、请向我提供有关实施的详细信息、以帮助您。
谢谢、此致、
Britta
您好、Britta、
我尝试过、但仍然遇到相同的问题。 我将向您发送 I2C 模块初始化和从器件读取代码。
此致、
P M Manoj Kumar。
您好、Britta、
在这里、我将发送 I2C 初始化和从从器件代码读取。
1)
void I2Cinit (void) { UCD0CTL1 |= UCSWRST;//启用软件复位 UCD0CTL0 |= UCMST | UCSYNC | UCMODE_3;//I2C 同步和主模式选择 UCD0CTL1 |= UCSSEL_1;//使用 ACLK UCBBR0 = 25; UCB0CTL1 = UCB0 ~UCBUSCI;UCB0CTL1 = UCB0CTL1;//初始化状态
2)
unsigned char ReadFromI2CPort (unsigned char SlaveAddr、unsigned char OpRegAddr) { unsigned char ReadData = 0; while (UCB0CTL1 & UCTXSTP); UCB12CSA = SlaveAddr; UCBCTL1 |= UCTR | UCTXSTT; while (! (UCB0IFG & UCTXIFG); UCB0TXBUF = OpRegAddr; while (! (UCB0IFG & UCTXIFG); UCB0CTL1 &=~UCTR; UCBCTL1 |= UCTXSTT; while (! (UCB0IFG & UCRXIFG); ReadData = UCB0RXBUF; UCBCTL1 |= UCTXSTP; 返回 ReadData; }
此致、
P M Manoj Kumar
您好、Bruce、
PCA9505配置为输出、PCA9505 GPIO 连接到继电器开关。 和读取/写入输出端口寄存器。
此致、
P M Manoj Kumar。