Teensy 3.2 i2c transfer size limit

unturned3

Member
I noticed the Wire.requestFrom( ) function signature has the quantity declared as a uint8_t, so I digged into the source code and found that the i2c buffer length for Teensy 3.2 (mk20dx256) is defined to be 72 bytes in WireKinetis.h

Is this a hardware limit of the chip? What happens if I increase this buffer size?

I'm writing a driver for the FLIR Lepton thermal camera. According to the datasheet, some i2c transfers may go up to 1KB in length.
 
Is this a hardware limit of the chip? What happens if I increase this buffer size?

It's a software limit. If you increase the buffer size, more RAM will be consumed. That's what you want... but the buffer default is small because almost all uses are small transfers and people generally don't like large fixed size buffers using up so much memory.
 
Back
Top