je travail sur un backfin maitre et mon circuit de capture video esclave, concernant les pull up ou down je pense en fait quils sont sur mon circuit blackfin, puisqu il a ete concu pour ca (i2c).
je vous envoi le code correspondant à la lecture puis ecriture:
int i2c_write_register(char * device, unsigned char client, unsigned char reg, unsigned short value)
{
int addr = I2C_SLAVE_ADDR;
char msg_data[32];
struct i2c_msg msg = { addr, 0, 0, msg_data };
struct i2c_rdwr_ioctl_data rdwr = { &msg, 1 };
int fd,i;
if ( (fd = open( device, O_RDWR ) ) < 0 ) {
fprintf(stderr, "Error: could not open %s\n", device);
exit( 1 );
}
if ( ioctl( fd, I2C_SLAVE, addr ) < 0 ) {
fprintf(stderr, "Error: could not bind address %x \n", addr );
}
msg.len = 3;
msg.flags = 0;
msg_data[0] = reg;
msg_data[2] = (0xFF & value);
msg_data[1] = (value >> 8);
msg.addr = client;
if ( ioctl( fd, I2C_RDWR, &rdwr ) < 0 ) {
fprintf(stderr, "Error: could not write \n");
}
close( fd );
return 0;
}
int i2c_read_register(char * device, unsigned char client, unsigned char reg)
{
int addr = I2C_SLAVE_ADDR;
char msg_data[32];
//char msg_data[24];
struct i2c_msg msg = { addr, 0, 0, msg_data };
struct i2c_rdwr_ioctl_data rdwr = { &msg, 1 };
int fd,i;
if ( (fd = open( device, O_RDWR ) ) < 0 ) {
fprintf(stderr, "Error: could not open %s\n", device);
exit( 1 );
}
if ( ioctl( fd, I2C_SLAVE, addr ) < 0 ) {
fprintf(stderr, "Error: could not bind address %x \n", addr );
}
// msg_data[2]= reg;
msg_data[0]= reg;
msg.addr = client;
msg.len = 1;
msg.flags = 0;
if ( ioctl( fd, I2C_RDWR, &rdwr ) < 0 ) {
fprintf(stderr, "Error: could not write \n");
};
msg.len = 2;
// msg_data[0]=0;
// msg_data[1]=0;
msg.flags = I2C_M_RD ;
if ( ioctl( fd, I2C_RDWR, &rdwr ) < 0 ) {
fprintf(stderr, "Error: could not read back\n");
close( fd );
return -1;
}
close( fd );
return (((unsigned char)msg_data[0])<<8 | ((unsigned char)msg_data[1]) );
//return (((unsigned char)msg_data[0])<<8 | ((unsigned char)msg_data[1]) );
la distance de mon bus est tres courte je pense pas que rajouter des res de pull up down soit necessaire, j vais quand meme m assurer qu elles soient presente sur le blackfin..
merci pour vos reponses....


