![]() ![]() BTW your chip supports 1000 kHz fast-mode plus at p.6 â default Wire frequency is 100kHZ.Īlso page 8 of the datasheet shows the "Writing to IS31Få 741 (Automatic address increment) " which should be what you want and the way to go to overcome the driver-overhead. The Wire library seems to have some significant overhead in its drivers, looking at places like here and more importantly the I2C write functions and sub-calls like this, so 62 microseconds overhead between I2C transmissions doesnât seem that absurdâ¦Ä®ven tClock(1000000) ( docs) wonât help much if the inter-write times are so big. Iâve hooked up my scope and captured some screenshots to made it easier to show whatâs happening: ![]() I2CWriteByte(addr, i2cAddrbuffer, i2cCMDbuffer) I2cAddrbuffer = IS31Få 741addrmap Īnd then sending the data over to the I2C bus using the wire library: for(int i = 0 i ![]() The issue that I am facing is that for some reason there is a big delay between consecutive I2C transfers (write only) that is causing very poor refresh rate. Iâm interfacing an LED matrix using a matrix driver that communicates over I2C. Iâve been building a project using PlatformIO and the ESP32 on a custom board. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |