provided it is wired correctly and the chip is pcf8574 the original code works just fine
although technically
TRISD=%00000000 'set PORTD as output all
should be
TRISD=%00001100 'set PORTD
![]()
provided it is wired correctly and the chip is pcf8574 the original code works just fine
although technically
TRISD=%00000000 'set PORTD as output all
should be
TRISD=%00001100 'set PORTD
![]()
Warning I'm not a teacher
The chips are PCF8574T.
I have pull up resistors 4.7K and SDA and SCL pins of 3 pcs. PCF chips are in parallel.
I tried adding that cont variable and changing TRIS for D port pins. Still nothing.
On the startup, SCL gets high and that's all, there is no activity on these pins.
But if I run simple high/low statements for those pins, then I can see these pins getting high or low on scope.
By the way, I have DS3231 hooked to another pins of same CPU.
It also not working - no activity on SDA/SCL pins while performing I2CREAD.
So maybe some config error?
if you mean its wiring error or the chips aren't what you say , probablySo maybe some config error?
schematic ?
Warning I'm not a teacher
No, there is no wiring error and when using HIGH or LOW statements, I can pull these pins up and down as normal.
I mean, maybe there is some config error for 18F, which prevents I2CREAD/I2CWRITE from working?
to be clear
provided it is wired correctly and the chip is pcf8574 the original code works just fine
Warning I'm not a teacher
Change CONFIG XINST setting to OFF.
Very few compilers are compatible with ON
Yes, you were right!
Also XINST messes with LCDOUT.
When XINST=ON, then DEC/HEX/BIN etc. modifiers of LCDOUT statement do not work.
But why this is not mentioned in manual?
Also, turning off XINST means we're turning off these extended instructions of 18F, so loosing all advantages these series have?
Bookmarks