MCP9808 MICROCHIP [Microchip Technology], MCP9808 Datasheet - Page 45

no-image

MCP9808

Manufacturer Part Number
MCP9808
Description
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
MCP9808-E/MS
Manufacturer:
MICROCHIP
Quantity:
1 690
Part Number:
MCP9808-E/MS
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
Part Number:
MCP9808T-E/MC
Manufacturer:
MICROCHIP
Quantity:
12 000
Part Number:
MCP9808T-E/MS
Manufacturer:
MICROCHIP
Quantity:
12 000
/********************************************************************
*
*
*
*
*
********************************************************************/
unsigned char i2c_write( unsigned char i2cWriteData ) {
ted)
}
/********************************************************************
*
*
*
*
********************************************************************/
unsigned char i2c_read( unsigned char ack ) {
}
© 2011 Microchip Technology Inc.
PIR1bits.SSPIF = 0; // clear interrupt
while ( SSPSTATbits.BF ) ;
SSPBUF = i2cWriteData;
while (!PIR1bits.SSPIF) ;
PIR1bits.SSPIF = 0; // clear flag
return ( !SSPCON2bits.ACKSTAT ); // function returns '1' if transmission is acknowledged
unsigned char i2cReadData;
PIR1bits.SSPIF = 0;// clear interrupt
while ( SSPSTATbits.BF ) ; // wait for idle condition
SSPCON2bits.RCEN = 1;
while (!PIR1bits.SSPIF) ; // wait for a flag to be set
PIR1bits.SSPIF = 0;// clear flag
i2cReadData = SSPBUF;
if ( ack ) {
} else {
}
SSPCON2bits.ACKEN = 1;
while (!PIR1bits.SSPIF) ; // wait for a flag to be set
PIR1bits.SSPIF = 0;// clear flag
return( i2cReadData );
Function Name:
Return Value:
Parameters:
Description:
Function Name:
Return Value:
Parameters:
Description:
SSPCON2bits.ACKDT = 0;
SSPCON2bits.ACKDT = 1;
i2c_write
Status byte for WCOL detection.
Single data byte for I2C2 bus.
This routine writes a single byte to the
I2C2 bus.
i2c_read
contents of SSP2BUF register
ack = 1 and nak = 0
Read a byte from I2C bus and ACK/NAK device
// wait for a flag to be set
// wait for idle condition
// enable receive mode
// Read SSPBUF and put it in i2cReadData
// if ack=1
//
//
// send acknowledge sequence
// return the value read from SSPBUF
// Load SSPBUF with i2cWriteData (the value to be transmit-
then transmit an Acknowledge
otherwise transmit a Not Acknowledge
MCP9808
DS25095A-page 47

Related parts for MCP9808