@ 16 Mhz we get a bus error on some writes, @ 4Mhz it is not an issue -- I will need explore that. And only on the triple write sequence. It occurs on both 00 or 0, so it is not related.
00 [decimal] is not 0
xb= 00 is not zero but 0x13
xb= 0 is zero
Good
main:xb=0i2cWrite(IO_Chip6,IODIRA,xb)' make portA outputsi2cWrite (IO_Chip6, IODIRB, xb) 'makeportBoutputs
BAD!
main:xb=00i2cWrite(IO_Chip6,IODIRA,xb)' make portA outputsi2cWrite (IO_Chip6, IODIRB, xb) 'makeportBoutputs
That's a pretty cool logic analyzer, for not much money.
It looks like You have fooled the compiler. Is there a particular reason that you end up with dec 00 in the first place? If I wanted to send 00 then I would use a string value "00".
EDIT: Or " 0"
Last edit: kent_twt4 2013-09-23
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Two Issues:
@ 16 Mhz we get a bus error on some writes, @ 4Mhz it is not an issue -- I will need explore that. And only on the triple write sequence. It occurs on both 00 or 0, so it is not related.
00 [decimal] is not 0
xb= 00 is not zero but 0x13
xb= 0 is zero
Good
BAD!
[a $50 logic analyzer: http://dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer]
i2c data dump - .csv format
The Code
Last edit: ofuzzy1 2013-09-23
I know this...
00 will create an uninitialized BYTE variable. 0 is a value.
With 00 being an uninitialized variable you then set this to your target variable.
:-) Don't assign using 00.
Hugh/Kent... why would this cause strange execution of the code?
That's a pretty cool logic analyzer, for not much money.
It looks like You have fooled the compiler. Is there a particular reason that you end up with dec 00 in the first place? If I wanted to send 00 then I would use a string value "00".
EDIT: Or " 0"
Last edit: kent_twt4 2013-09-23
The analyser looks very good! Ofuzzy - thanks for sharing.
The analyser looks very good! Ofuzzy - thanks for sharing.
Kent: The '00' was from quickie edit of hex '0x00' -- who knew it would be a headache.
Anobium: The analyzer sure has paid for itself many times over!
The bus error is NOT from the 00, but a clock speed issue. 2&4 MHz is okay, 8,16,32 is not good see attached.
To Qualify this: The mcp23017 still works but the signal is:
Last edit: ofuzzy1 2013-09-25