请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:F28M36P63C2 大家好、
我正在尝试实现一个基本 I2C 从设备、当主设备尝试读取一个字节时、该从设备始终应答相同的数据。
数据为0xbb。
当我在复位微控制器后第一次尝试读取时、数据会按预期正确接收。 但是、如果我再次尝试读取、则主设备中接收到的数据会损坏。
我的主设备已经过测试、可以与其他设备正常配合使用。
这是我的 I2C ISR 代码。
void isr_i2c_slave_offboard_isolated (void) { if (I2CSlaveIntStatus (I2C_offboard_iso_slave_base、I2C_SLAVE_INT_DATA){ G_ui32Status = I2CSlaveStatus (I2C_offboard_iso_slave_base); if (g_ui32Status 和 I2C_SLAVE_ACT_RREQ){ G_ui32DataRx = I2CSlaveDataGet (I2C_offboard_iso_slave_base); } if (g_ui32Status 和 I2C_SLAVE_ACT_TREQ){ I2CSlaveDataPut (I2C_offboard_iso_slave_base、0xbb); } } I2CSlaveIntClear (I2C_offboard_iso_slave_base); I2CSlaveIntClearEx (I2C_offboard_iso_slave_base、I2C_SLAVE_INT_DATA); }
我需要检查 ISR 中的其他内容吗?
谢谢!