?2011 Microchip Technology Inc.
DS25095A-page 47
MCP9808
/********************************************************************
* Function Name: i2c_write
* Return Value: Status byte for WCOL detection.
* Parameters: Single data byte for I2C2 bus.
* Description: This routine writes a single byte to the
* I2C2 bus.
********************************************************************/
unsigned char i2c_write( unsigned char i2cWriteData ) {
  PIR1bits.SSPIF = 0; // clear interrupt
  while ( SSPSTATbits.BF ) ; // wait for idle condition
  SSPBUF = i2cWriteData; // Load SSPBUF with i2cWriteData (the value to be transmit-
ted)
  while (!PIR1bits.SSPIF) ; // wait for a flag to be set
  PIR1bits.SSPIF = 0; // clear flag
  return ( !SSPCON2bits.ACKSTAT ); // function returns '1' if transmission is acknowledged
}
/********************************************************************
* Function Name: i2c_read
* Return Value: contents of SSP2BUF register
* Parameters: ack = 1 and nak = 0
* Description: Read a byte from I2C bus and ACK/NAK device
********************************************************************/
unsigned char i2c_read( unsigned char ack ) {
  unsigned char i2cReadData;
  PIR1bits.SSPIF = 0;// clear interrupt
  while ( SSPSTATbits.BF ) ; // wait for idle condition
  SSPCON2bits.RCEN = 1; // enable receive mode
  while (!PIR1bits.SSPIF) ; // wait for a flag to be set
  PIR1bits.SSPIF = 0;// clear flag
  i2cReadData = SSPBUF; // Read SSPBUF and put it in i2cReadData
  if ( ack ) { // if ack=1
  SSPCON2bits.ACKDT = 0; // then transmit an Acknowledge
  } else {
  SSPCON2bits.ACKDT = 1; // otherwise transmit a Not Acknowledge
  }
  SSPCON2bits.ACKEN = 1; // send acknowledge sequence
  while (!PIR1bits.SSPIF) ; // wait for a flag to be set
  PIR1bits.SSPIF = 0;// clear flag
  return( i2cReadData ); // return the value read from SSPBUF
}
相关PDF资料
MCZ33998EGR2 IC REG CHARGEPUMP/LINEAR 24SOIC
MCZ34652EFR2 IC HOTSWAP CTRLR 2A NEG 16SOIC
MCZ34653EFR2 IC HOTSWAP CTRLR 1A NEG 8-SOIC
MCZ34670EG IC POE CURR MODE SW REG 20-SOIC
MIC184BM TR IC SUPERVISOR LOCAL/REMOTE 8SOIC
MIC2086-MBQS TR IC CTRLR HOW SWAP SGL 20-QSOP
MIC2225-4OYMT TR IC REG DL BUCK/LINEAR 10TMLF
MIC2310-2ZTS TR IC HOT SWAP CTLR 2CHAN 24TSSOP
相关代理商/技术参数
MCP98242 制造商:MICROCHIP 制造商全称:Microchip Technology 功能描述:Memory Module Temperature Sensor w/EEPROM for SPD
MCP98242_09 制造商:MICROCHIP 制造商全称:Microchip Technology 功能描述:Memory Module Temperature Sensor w/EEPROM for SPD
MCP98242-BE/MC 制造商:Microchip Technology Inc 功能描述:TEMP SENSOR DGTL SERL (2-WIRE, - Bulk
MCP98242-BE/MNY 制造商:MICROCHIP 制造商全称:Microchip Technology 功能描述:Memory Module Temperature Sensor w/EEPROM for SPD
MCP98242-BE/ST 功能描述:板上安装温度传感器 JEDEC DIMM Serial output temp sensor RoHS:否 制造商:Omron Electronics 输出类型:Digital 配置: 准确性:+/- 1.5 C, +/- 3 C 温度阈值: 数字输出 - 总线接口:2-Wire, I2C, SMBus 电源电压-最大:5.5 V 电源电压-最小:4.5 V 最大工作温度:+ 50 C 最小工作温度:0 C 关闭: 安装风格: 封装 / 箱体: 设备功能:Temperature and Humidity Sensor
MCP98242-CE/ST 功能描述:板上安装温度传感器 JEDEC DIMM SER Outpt Temp Snsr SPD EEPROM RoHS:否 制造商:Omron Electronics 输出类型:Digital 配置: 准确性:+/- 1.5 C, +/- 3 C 温度阈值: 数字输出 - 总线接口:2-Wire, I2C, SMBus 电源电压-最大:5.5 V 电源电压-最小:4.5 V 最大工作温度:+ 50 C 最小工作温度:0 C 关闭: 安装风格: 封装 / 箱体: 设备功能:Temperature and Humidity Sensor
MCP98242T 制造商:MICROCHIP 制造商全称:Microchip Technology 功能描述:Memory Module Temperature Sensor w/EEPROM for SPD
MCP98242T-BE/MC 功能描述:板上安装温度传感器 JEDEC DIMM Serial output temp sensor RoHS:否 制造商:Omron Electronics 输出类型:Digital 配置: 准确性:+/- 1.5 C, +/- 3 C 温度阈值: 数字输出 - 总线接口:2-Wire, I2C, SMBus 电源电压-最大:5.5 V 电源电压-最小:4.5 V 最大工作温度:+ 50 C 最小工作温度:0 C 关闭: 安装风格: 封装 / 箱体: 设备功能:Temperature and Humidity Sensor