Here is an example of a call that leads to an error unless I insert an artificial delay: /* Write each preset to memory */ clear_block(mem_offset, 1); write_block(mem_offset, &temp[i], 1); Is there a reason this is happening? Currently the weird thing is...
The problem arises when a device has an internal memory space that is larger than 256 bytes or registers; for example, any modestly sized I2C EEPROM. Such a device will expect to receive two or more bytes to represent the starting memory address. My own device (an ADAU1701 audio DSP) has...