I2C Issue on DUE (With logic analysis)


hi guys,

ok, i'm tired, spent day trying rid of strange issue.
let's take look...
1) code:

code: [select]

#include <wire.h>
int val = 0;

void setup()
{
 wire.begin(); // join i2c bus

}

void loop()
{
 
 wire.begintransmission(0x00); // transmit device #
 wire.write(0xc1); //default init command 0xc1
 wire.write(0xd1); //sub call address select 0xd1
 wire.write(0x00); //registro initialization call 0x00
 wire.write(0x01); //registro setup 0x01
 wire.write(0x14); //primo gruppo led0 init 0x14
 wire.write(0x55); //(01010101 -> 01 led full on 0x55
 wire.endtransmission();     // stop transmitting
 
 val++;        // increment value
 if(val == 64) // if reached 64th position (max)
 {
   val = 0;    // start on lowest value
 }
 delay(500);
}


2) results logic analyzer:




the link of pictures, in case not work due access of flickr:
http://farm6.staticflickr.com/5508/9110418244_532144983e_b.jpg
http://farm4.staticflickr.com/3680/9108260063_7071e9a93f_b.jpg

3) additional info:
operating systems used test sw ubuntu 64bit & win7 64bit.
latest version of beta 1.5.2 due.


it seems instead sending content of wire.write funcion sends again , again wire.begintransmission value.
if change begintransmission value new value repeated again , again total number of wire.write typed in code.


i don't have enough knowledge modify library or... doing wrong?
thanks million help!
dario.

maybe using non-zero address help?


 wire.begintransmission(0x00); // transmit device #


Arduino Forum > Products > Arduino Due (Moderator: fabioc84) > I2C Issue on DUE (With logic analysis)


arduino

Comments

Popular posts from this blog

Convierte tu Raspberry en un NAS. Firmware fvdw-sl 15.3 - Raspberry Pi Forums

How to format a Get Request

avrdude: verification error, first mismatch at byte 0x0000 0x0c != 0x62