The question was:
I want to read temperature from TC74 using I2C module of PIC16F887, however, in Proteus
simulation, I see noises in I2C Debugger Tool's output.
It told me that I had "Spurious SCL transition". Any other info about the question such as schematics, code and screenshot can be found in the older revisions.
The problem is fixed after adding a 4us delay after a restart condition as it is stated in the datasheet as:
START Condition Hold Time - Min: 4us
START Condition Setup Time(for repeated START Condition) - Min: 4us
STOP Condition Setup Time - Min: 4us
That means that we should always read the datasheet thoroughly first. I am guessing that the reason people in the internet don't have any error when they don't obey those wait times is that their clock speed is low and they don't need to put a delay in the uC.
Working code and any other information of this post can be found in the older revisions of it. To see the final version of question before this shrinking, simply go to this page.
Answer
The problem in the question is solved and the details can be found in the post itself or the last post before the actual one. This answer is just to flag this question as answered so that it doesn't populate unanswered questions list for nothing.
No comments:
Post a Comment