- This topic has 0 replies, 1 voice, and was last updated 2 weeks, 2 days ago by .
Viewing 1 post (of 1 total)
Viewing 1 post (of 1 total)
- You must be logged in to reply to this topic.
(This message was transferred over from our old forum)
Posted August 19, 2015
By Todd DeBoer
[hr]
On 05/27/2010, wella asked, “Is there some register restriction for having maximal length 256 of i2c request?
I would like to read 512 bytes from eeprom in one turn…
Could be possible to change e.g. to TUInt16(32) and also edit the
TUInt8 iDataLen;
TUInt8 iIndex;
in the I2C HAL T_LPC247x_I2C_Workspace?
Regards,
Martin
typedef struct {
TUInt8 iAddr; // 7-bit address of I2C device
TUInt16 iSpeed; // in kHz
TUInt8 *iWriteData; // 0 or NULL value means no write action
TUInt8 iWriteLength; //————> ??????
TUInt32 iWriteTimeout;
TUInt8 *iReadData; // 0 or NULL value means no read action
TUInt8 iReadLength;//————> ??????
TUInt32 iReadTimeout;
volatile T_uEZI2CStatus iStatus;
} I2C_Request;”
[hr]
(Follow up post)
Answered:
You are correct, there is no good reason that the limit be 256. It’ll take a bit of changing, but it can easily be modified to be a TUInt32 to offer much larger transfers. Edits in HAL, Device, and header will be required.