Gast
#2632669
Hallo, beim Versuch, mittels I2C mit einem GPS-Modul (LEA6) zu kommunizieren, habe ich folgendes Problem: ich möchte Daten auslesen. Wenn ich die Funktion I2C_ReadByte_ACK benutze, komme ich jedoch nie aus der while-Schleife heraus. Was mache ich hier falsch? Wenn ich das 1<<TWINT lösche, dann habe ich zwar keine Endlos-Schleife, aber dann ist ja das TWINT nicht zurückgesetzt und ich kann mir ja nicht sicher sein, ob die Daten, die ich bekomme, überhaupt korrekt sind. Bei der I2C_ReadByte_NACK() bekomme ich überhaupt keine Reaktion. Laut Datenblatt ist es dort ja so, dass ich mit einer 0 in TWEA temporär vom Bus abgekoppelt bin, wie kann ich hier das Senden eines NACK erreichen? Hier sind meine I2C-Routinen, bei denen ich Probleme bekomme: Problemlos funktionierende Funktionen sind I2C_Start(), I2C_Stop() und I2C-WriteByte (unsigned char).
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
Vielen Dank für Eure Antworten:)