unsigned char adcp1; // ADC variable for Most Significant Byte
unsigned char adcp2; // ADC variable for Least Significant Byte
unsigned char config; // ADC variable for Configuration Register
void ADS1110_ReadVoltage(void)
{
//I2C 1 Set up
I2C1PSC = 2; // Module clock frequency
// I2CCLK = ICLK / (PSC + 1)
// I2CCLK = 10 MHz
I2C1CKL = 45; // Low clock period
I2C1CKH = 45; // High clock period
I2C1OAR = 0x56; // Set TMS470's Own address to 0x56
I2C1IMR = 0x0; // Interrupts disabled
I2C1CNT = 3; // Number of byte transactions between I2C Start and Stop
I2C1SAR = 0x48; // Set address of ADC to 0x48
I2C1PFNC = 0; // Pins function as SDA and SCL pins
I2C1DIR = SDAFUNC+SCLFUNC; // Set I2C Pin direction
I2C1MDR |= MST; // Make TMS470 addr 0x56 the IIC the Master
I2C1MDR |= NIRS; // Clear Reset
I2C1MDR &= ~TRX; // Clear transmit to Read
I2C1MDR |= STT + STP; // Start, Stop and Transmit
while(!(I2C1SR & 0x0008)); // Verify I2CDRR has been read
adcp1 = (I2C1DRR); // Capture Most Significant Byte First
while(!(I2C1SR & 0x0008)); // Verify I2CDRR has been read
adcp2 = (I2C1DRR); // Capture Least Significant Byte Second
while(!(I2C1SR & 0x0008)); // Verify I2CDRR has been read
config = (I2C1DRR); // Capture Configuration Register Value third
}
搞不懂为啥I2C1OAR = 0x56 的具体含义 求各路大神帮解答一下 最好说得很详细