Click here to load reader
View
212
Download
0
Embed Size (px)
DESCRIPTION
x
Citation preview
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();
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////