Forum: Mikrocontroller und Digitale Elektronik Probleme mit I²C beim NXP LPC1766


von Stefan (Gast)


Lesenswert?

Hallo liebe Experten,

ich hänge hier seit mehreren Tagen über einem Problem am besagten 
Controller. Das Handbuch konnte mir mit seinen über 800 Seiten zwar 
bisher immer einigermaßen gut weiterhelfen, aber hier komme ich einfach 
auf keinen grünen Zweig:

Ich will einfach mit einem per I²C angebundenen Chip (SMB380 
Accelerometer) kommunizieren. Alles, was ich hinbekomme, ist ein Status 
"0xA0" im Statusregister des I²C-Interfaces. Leider habe ich auch nur 
ein Analogoszi, kann also nicht sagen, was der Chip am Ausgang 
produziert.

Hat jemand schonmal den I²C-Bus am LPC1766 zum Laufen gebracht? Leider 
hab ich mit diesem Bus überhaupt keine Erfahrung, auch nicht mit anderen 
Controllern. Die LCD-Ansteuerung per SPI klappt problemlos, also falls 
Interesse an einem How-To "Nokia6610 am LPC1766" besteht, kann ich da 
weiterhelfen!

Also, wäre echt fein, wenn ich hier Hilfe finden würde!

Grüße,
Stefan.

von Stephan M. (stephanm)


Lesenswert?

Stefan schrieb:
> Ich will einfach mit einem per I²C angebundenen Chip (SMB380
> Accelerometer) kommunizieren. Alles, was ich hinbekomme, ist ein Status
> "0xA0" im Statusregister des I²C-Interfaces.

Das habe ich auf die Schnelle im User-Manual nur als Fehlerstatus im 
Slave Receiver Mode gefunden (LPC17xx User Manual, S. 457). Sollte Dein 
LPC1766 nicht eher im Master Transmitter/Receiver Mode laufen? -> 
I2C-Port vielleicht falsch konfiguriert?

> Leider habe ich auch nur
> ein Analogoszi, kann also nicht sagen, was der Chip am Ausgang
> produziert.

Na, Du könntest ja erstmal eine Schleife programmieren, die ständig und 
ohne zu warten die selben Daten auf dem I2C-Bus ausgibt. Dann solltest 
Du auch mit (D)einem Oszilloskop sehen können, ob sich auf dem Bus 
elektrisch was tut. So könnte man zumindest das Problem schon mal auf 
ein elektrisches oder auf ein SW-Problem eingrenzen.

Viel Erfolg,

Stephan

von Stefan (Gast)


Lesenswert?

Ohje, ich Dussel - hab jetzt mal mein Oszi drauflosgelassen... und hab 
mich gewundert, warum sich überhaupt nix tut! Dann nochmal den Code 
durchgegangen - und was soll ich sagen? Ich hab die Pin-Config falsch 
durchgeführt und somit nicht die I2C-Funktion den entsprechenden beiden 
Pins zugeordnet! Arrgh sowas Einfaches! Jedenfalls krieg ich jetzt Daten 
geliefert und kann damit weitermachen!

:o))

Wenns jemanden interessiert, kann ich dann ja die Resultate in Form von 
C-Code posten (Auslesen vom SMB380-Accelerometer).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.