s32k144

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

s32k144

1,971 Views
Nexus_Derrick
Contributor II

社区朋友们好,我在使用S32K144的SDK里面的IIC出现一下问题,可以帮忙解答一下吗?我在使用SDK的I2C PAL时,S32K144作为I2C的主机进行数据发送,因为写EEPROM时需要WC引脚控制为低电平,所以我在写之前将WC进行拉低,调用while(STATUS_SUCCESS != I2C_MasterSendDataBlocking(&I2C_Config_instance,&TxBuffer[0],3,true,100));传输3个字节后,并检测返回状态为STATUS_SUCCESS后将WC引脚进行拉高,但是实际抓去的波形却在0x99(图示)就拉高,按道理应该是传输完0x99才会进行拉高吧,这个是为什么呢?

0 Kudos
Reply
4 Replies

1,958 Views
Nexus_Derrick
Contributor II

附带波形

0 Kudos
Reply

1,922 Views
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi

请问是哪个版本的SDK?是否方便将测试工程发给我,我在S32K144EVB上测试一下?


Best Regards,
Robin

0 Kudos
Reply

1,885 Views
Nexus_Derrick
Contributor II

Hi,你好:

     附件是我使用的工程,SDK使用的是3.0.0版本

Tags (1)
0 Kudos
Reply

1,779 Views
Robin_Shen
NXP TechSupport
NXP TechSupport

我测试了你的工程,看到的现象与你提供的I2C波形图类似。 查看I2C_MasterSendDataBlocking发现其在LPI2C_DRV_MasterSendData里把最后一个数据传输给transmit FIFO就认为STATUS_SUCCESS。 但LPI2C的transmit FIFO从被写入数据到实际发送完成还需要些时间。

LPI2C_DRV_MasterSendData只开启了部分中断,比如LPI2C_MASTER_FIFO_ERROR_INT、LPI2C_MASTER_ARBITRATION_LOST_INT、LPI2C_MASTER_NACK_DETECT_INT。遗憾的是也没开启或实现 SDF(STOP Detect Flag) Master has transmitted a STOP condition中断事件。

0 Kudos
Reply