1

Click here to load reader

I2Cpreva

Embed Size (px)

DESCRIPTION

x

Citation preview

Page 1: I2Cpreva

7/17/2019 I2Cpreva

http://slidepdf.com/reader/full/i2cpreva 1/1

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// UCB0I2CSA = 0x41;// direccion de esclavo// UCB0CTL1 POSI (UCTR);// modo de transmision

OI2CB0.slaveDevice(0x41, WRITE);// UCB0CTL1 POSI (UCTXSTT); // condicion deSTART

OI2CB0.condition(START_I2C);while(!(UCB0IFG & UCTXIFG)); // esperando que

 se ponga a uno para escribir dato en bufferUCB0TXBUF = 0xFE;

// escribiendo dato en buffer vaciowhile(UCB0CTL1 & UCTXSTT); // esper

ando ACK de STARTwhile(UCB0IFG & UCNACKIFG);while(!(UCB0IFG & UCTXIFG)); // esperando que

 se envie el datowhile(UCB0IFG & UCNACKIFG); // esper

ando que sea cero para confirmar el ACK del esclavo del dato __no_operation();

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// UCB0CTL1 NEGA (UCTR);// modo recepsion

OI2CB0.slaveDevice(0x41, READ);// UCB0CTL1 POSI (UCTXSTT); // condicion deSTART

OI2CB0.condition(RESTART_I2C);while(UCB0CTL1 & UCTXSTT); // esper

ando ACK de STARTwhile(UCB0IFG & UCNACKIFG);

 __no_operation();

////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////while(!(UCB0IFG & UCRXIFG)); // esperando a que el dato llegue del SLAVE

prueba1 = (unsigned int)(UCB0RXBUF) << 8;OI2CB0.condition(STOP_I2C);

// UCB0CTL1 POSI (UCTXSTP);while(!(UCB0IFG & UCRXIFG)); // esperando el

siguiente datoprueba1 |= (UCB0RXBUF);

 __no_operation();

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////