Chip is 18F45K80. I changed pull-up values to 5.1K, not much difference in shape of signals, but at least now it works.
So in case of I2CWRITE, pins should be configured as input?
In your "working" example 2 you're actively driving the pins high and low.
I2C is an open-drain/collector bus where the high level speed is determined in part by the pullup values.
in reality accuracy is not always critically important, 1% or larger errors still work well in 90% of cases for tty serial transmission.
8bit generator results can be equally accurate anyway.
if...
Published on - 27th May 2010 03:01
Number of Views: 16016
This is an effort to help users understand how the I2C command works by comparing it with SHIFTIN/SHIFTOUT. A serial EEPROM, 24FC1025 will be used in the example.
Published on - 1st May 2010 05:59
Number of Views: 8795
With all of the added benefits or the new forum, a useful feature has been lost. This is the "Today's Post" link that was found in the "Quick Links" drop down. Due to compatibility issues with future updates from vBulletin this link can not be brought back.
But there is a couple of ways to do the same thing using the same amount of mouse clicks once it is set up.
...
Re: I2CWRITE/I2CREAD access hardware in the different way? (PCA9685 issues)
You should probably leave them as inputs.
tumbleweed - 20th December 2025, 17:39The I2C commands will change them from inputs to outputs as required to simulate an open-collector signal (high=input, low=output 0).
It would...