I've been playing around with reading and writing i2c data on my fx2lp 
board.  Here is the 1st three steps for reading i2c data according to 
the TRM (13.4.4)

1. Set START=1. If BERR = 1, start timer*.
2. Write the 7-bit peripheral address and the direction bit (1 for a 
read) to I2DAT.
3. Wait for DONE=1 or for timer to expire*. If BERR=1, go to step 1.

I understand you can get a BERR if another controller on the board is 
trying to send data on the bus.  I'm not quite clear on what do do in 
this case.

Should I

a) set a timer, wait for the timer to go off, and then start over at 
step 1 or
b) set the timer, write the address to I2DAT, and then wait for the 
timer then check DONE and BERR both.

Thanks for helping noobs!
Dennis

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to