[제품종류] IEC1000
[개발환경] Visual Studio 2008 C#
ADS1115 칩 사용하고있구요..기본예제 참고해서 이런식으로 작업하고 있습니다..
아직 실력이 부족해서 인지 도저히 감이 안옵니다.
결과값이 전압에 따라 움직입니다. 근데 16bit 인데 코드상 상위8bit만 받아서 표시되는것 같습니다.
데이터 시트도 첨부합니다 도와주세요..
// 24C16 EEPROM의 지정된 주소의 데이터를 읽어온다.
private void butMemRead_Click(object sender, EventArgs e)
{
byte iSlaveAddress;
byte iMemAddress;
byte iData;
// Device의 Slave Address를 읽어 온다
iSlaveAddress = Convert.ToByte(txtSlaveAddress.Text);
iMemAddress = Convert.ToByte(txtMemAddress.Text);
// ATMEA사의 24C16의 Data Sheet를 참조 하세요.
//smartIIC1.Start_Signal();
smartIIC1.Start_Signal();
smartIIC1.Write_Byte(0x90);// address = 0x90 | 0 -> write
smartIIC1.Write_Byte(0x01); // 0x01 -> config register
smartIIC1.Write_Byte(0xC1);// 1 -> os, 100 -> an0-gnd, 000 -> +-6.144 range, 0/1 -> continuous/single conversion
smartIIC1.Write_Byte(0x83);// default
smartIIC1.Stop_Signal();
smartIIC1.Start_Signal();
smartIIC1.Write_Byte(0x90);// address = 0x90 | 0 -> write
smartIIC1.Write_Byte(0x00);// 0x00/0x01 -> conversion/config register
smartIIC1.Stop_Signal();
smartIIC1.Start_Signal();
smartIIC1.Write_Byte(0x91);
iData = smartIIC1.Read_Byte(SmartX.SmartIIC.ACKSIG.NOACK);
smartIIC1.Stop_Signal();
iData = smartIIC1.Read_Byte(SmartX.SmartIIC.ACKSIG.ACK);
smartIIC1.Stop_Signal();
txtMemData.Text = iData.ToString();
}