您好!
我目前正在尝试将 MSP430FR5969配置为从 Si1133读取。 通信将通过 I2C 完成。
我的困难在于此接口的正确配置顺序。 根据我所阅读的内容(通过其他讨论和数据表)、我应该能够使用 eusci_b_i2c 和 drivelib 软件包。
此线程中的用户 或多或少都在尝试完成相同的任务。
这就是我从主端看到该过程工作的方式:
- 初始化 GPIO 引脚(SDA、SCL)
- 初始化主控参数
- 初始化主设备
- 设置从机地址
- 设置模式(在本例中为传输)
- 启用 I2C 块
- 发送数据
- 停下
"传输数据"部分 是我要提问的内容。
根据 Si1133数据表、简单的写入序列包含以下顺序的命令(来自主器件):
- 启动
- 发送从机地址
- 设置写入
- 接收 ACK
- 发送寄存器地址
- 接收 ACK
- 发送数据
- 接收 ACK
- 发送停止
现在、eusci_b_i2c 库提供的函数可在一个调用中发送开始、数据、然后发送停止。 但我不认为这是我在这里要做的事情。
作为起点、我只想发送从器件地址、然后读取 ACK。 ACK 确切发送在哪里? 我想这是一个旗帜,只是不确定是什么。
也许使用 getInterruptStatus 是一种检查方法?
此外、是否可以在调试期间检查是否收到 ACK?
请随时澄清。 在背景下、我是一名学生、试图学习裸机 C
谢谢你