2056986_en-US

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

2056986_en-US

2056986_en-US

S32K312 IIC DMA slave mode maximum receiving length can only be 8 bytes

Hi all

 I am using the DMA function of the IIC slave, but the maximum length that IIC can receive at once is only 8 bytes. Data exceeding 8 bytes cannot be retrieved from the buffer. I have uploaded the project, can you help me identify the problem.

Thanks

Re: S32K312 IIC DMA slave mode maximum receiving length can only be 8 bytes

Thank you for your help. Although there is a problem with this routine, it can be used to compare the errors in my current project. I have identified the cause

Re: S32K312 IIC DMA slave mode maximum receiving length can only be 8 bytes

Hi @Reyna_pan45 

I have observed that the project is based on the application provided in Example S32K312 I2C Transmit & Receive Using DMA DS3.5 RTD300. Just to confirm, if no modifications are made to the project, presents the same behavior?

Re: S32K312 IIC DMA slave mode maximum receiving length can only be 8 bytes

As you said :The number of bytes that can be transmitted per transfer is not restricted.

The received data length I set is 18 bytes ,Why can't I receive data exceeding 8 bytes?

Re: S32K312 IIC DMA slave mode maximum receiving length can only be 8 bytes

Hi @Reyna_pan45 

The I2C bus specification defines that each byte transmitted on the SDA line must be 8 bits long. The number of bytes that can be transmitted per transfer is not restricted.

While the hardware itself does not impose a limit on the read transfer size, it requires the software to queue multiple read commands for larger transfers. Currently, the driver can receive between 1 and 256 bytes of data, and it can also be configured to discard received data instead of storing it in the receive FIFO.


BR, VaneB

Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 02:24 PM
Updated by: