Hallo zusammen und wieder einmal habe ich ein Kommunikationsproblem.
Ich versuche über I2C ein Register des ADC121C021(MSOP-8) auszulesen.
Leider bekomme ich vom ADC121 aber garkeine Reaktion. Ich kenne mich
noch nicht allzu gut mit der Kommunikation aus, aber meine Vermutung
ist, dass die DEVICE-Adresse des ADC121 falsch ist.
Im Anhang sind zwei Osziaufnahmen, wobei die eine von einem Sensor ist,
dessen ID ich überprüfe.(Soll die grundsätzliche Funktionsfähigkeit des
I2C2BUS zeigen)
Die andere Aufnahme ist vom ADC121.
Ich nutze 0xA0 als Device Adresse für den ADC, da die beiden PINS: ADR0
und ADR1 floaten.
Am ADC121 habe ich alle Leitungen überprüft und auch die Spannungen sind
wie zu erwarten!
CODE:
1 | uint8_t test;
|
2 | uint8_t addr = I2C2BUS::SMON::ADC121C021::Alert_Status_Reg;
|
3 |
|
4 | while (1)
|
5 | { if(!(I2C2BUS::write_read(I2C2BUS::SMON::ADC121C021::DEVICE_ADDRESS, &addr, 1, &test, 1)))
|
6 | {
|
7 | LED::Red_ON();
|
8 | }
|
9 | else
|
10 | {
|
11 | LED::Green_ON();
|
12 | }
|
13 | xpcc::delay_ms(1000);
|
14 | LED::Green_OFF();
|
15 | LED::Red_OFF();
|
16 |
|
17 | xpcc::delay_ms(1000);
|
18 | I2C2BUS::MAG::LSM303DLHC::checkID();
|
19 | xpcc::delay_ms(1000);
|
20 |
|
21 | }
|
Kann mir jemand erklären ob das Problem an der DEVICE-ADRESSE liegt oder
die Verschaltung fehlerhaft sein muss, oder zumindest eine Richtung
weisen in die ich "ermitteln" muss :)
Gruß,
Florian