Page 1 of 1

Slow I2C Component Macro [Solved]

Posted: Fri Oct 03, 2025 2:58 pm
by Sasi
Hello,
I tested the I2C component with a PIC16F1779 MCU and a 47C04 type EERAM.
Writing and reading work correctly, and the operations complete in about 100 µs.
However, the Component Macro continues to run for another 10 ms after a write or read operation.
What do you think could be causing this?

Thank you in advance for your help.

Regards,
Sasi
PIC16F1779_I2C_TEST.fcfx
(12.8 KiB) Downloaded 11 times
I2C_Generic Read and Write.jpg
I2C_Generic Read and Write.jpg (45.5 KiB) Viewed 243 times
I2C_Generic Write zoomed.jpg
I2C_Generic Write zoomed.jpg (43.13 KiB) Viewed 243 times

Re: Slow I2C Component Macro

Posted: Sat Oct 04, 2025 9:38 am
by Sasi
I realized that I had omitted the I2C component initialization command from the test project.
Presumably, without this, the other I2C operations should not function correctly.
I tried placing the I2C initialization block before the main loop, but it made no difference write and read operations still take approximately 10 ms to complete. :o

In the current project I'm working on, I2C transactions are required to be executed within interrupts triggered every 500 µs.
Currently, the program freezes while executing the first such macro.

Re: Slow I2C Component Macro

Posted: Sat Oct 04, 2025 10:21 am
by mnfisher
In the i2c properties there is a 'stop delay' setting - check this is set to no.

Martin

Re: Slow I2C Component Macro

Posted: Sat Oct 04, 2025 11:13 am
by Sasi
Hi Martin,

Thank you very much for your help, it works perfectly after I turned off the Stop delay. :oops:

Regards,
Sasi