您好!
我正在尝试将 MSP430FR2676设置为 I2C 从设备、以便与主机 MPU 通信。 我已经使 I2C 从器件能够成功地读取和写入基本数据。 我还在 MSP430上设置了 I2C 主设备、与一些一直运行良好的外部传感器和驱动器通信。 我现在试图进行稍微复杂一点的 I2C 从设备读取、因为它需要在读取过程中提供延迟。 下面是我需要做什么的分步说明:
- MPU 向 MSP430发送 I2C 从设备读取命令、以便从传感器读取值
- MSP430进入 I2C 从器件中断以处理来自 MPU 的调用
- MSP430向传感器发送 I2C 写入命令以便启动测量
- MSP430 I2C 从器件进程必须等待1秒、以便完成传感器测量( 这是我在挣扎的地方 )
- MSP430向传感器发送 I2C 读取命令以检索测量结果
- MSP430将测量数据发送回 MPU
我现在要研究的是如何在 I2C 从进程中运行延迟、同时允许 MSP430中的其他进程运行。 我知道__delay_cycles 命令、但我知道会导致 MSP430停止运行所有其他进程。 是否有办法在延迟的同时仍允许其他进程运行?
谢谢!