Interesting issue. My guess would have been that i2c sw is pretty
robust, but the hw version still has some issues hidden away.
I'll try to reproduce and track it down when I have the chance.

Btw, when working on an other project, I found that that I could fix a
bug by printing a used variable, but not with declaring it volatile.
It seems I run into these kind of bugs more often than other :(. Any
known issues with the compiler that could explain this?

Joep

2011/10/7 mattschinkel <[email protected]>:
> Hey guys,
>
> I may have found an issue with I2C sw master. I have tested with
> i2c_sw_master_echo & i2c_hw_master_echo samples, with
> i2c_hw_slave_echo.
>
> On the slave side, the following procedure only works with the master
> if it is hw, not sw. you can see I added a delay. Even a 1ms delay
> gives the same result. A slave may be slow at storing data.
>
> -- This callback is used when master sends a data byte
> procedure i2c_hw_slave_on_state_2(byte in rcv) is
>   pragma inline
>   data = rcv + 1
>   _usec_delay(10_000) -- added for slow slave
> end procedure
>
> I tried to search through for a fix, but didn't have any luck.
>
> Matt.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "jallib" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/jallib?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Reply via email to