Forum: Mikrocontroller und Digitale Elektronik LPC1769 & I2C0


von Alex (Gast)


Lesenswert?

Hallo Leute,

ich hab ein Problem mit dem I²C0 des LPC1769.
Sowohl das Beispiel von NXP als auch mein selbst geschriebener Code 
funktionieren nicht. :(
Wobei ich den Beispielcode von NXP mit I²C2 getestet habe, dort sehe ich 
zumindest ein Takt und die Adresse.

Versuche ich mit dem Beispiel von NXP das I²C0 zu benutzen, klappt nicht 
mal das Senden der Startbedingung.
Anfangsbedingung:
-> SDA0&SCL0 High

Senden der Startbedingung
-> SDA0&SCL0 Low
An SCL0&SDA0 sehe ich dann nichts mehr sie bleiben low.

Das usermanual bringt mich nicht mehr weiter, hab mir das ganze I²C 
Kapitel mehrmals durchgelesen.
Ich versteh nicht wieso er schon Probleme mit der Startbedingung hat bzw 
wieso nicht mal einen Takt auf SCL0 zu sehen ist.

Hat sich da jemand schon mal eingearbeitet und weis wie man die I²C0 zum 
laufen bringt?
Bin im Augenblick für jeden Tipp dankbar...

Die Beispiele hab ich von hier:
http://ics.nxp.com/support/software/code.bundle.lpc17xx.keil/#Software

von Jojo S. (Gast)


Lesenswert?

PullUp Widerstände eingebaut? Die I2C0 Pins haben keine internen 
Pullups, siehe Datenblatt.

von Alex (Gast)


Lesenswert?

Ja hab ich, sonst würde ich doch die Startbedingung nicht sehen.

von Alex (Gast)


Lesenswert?

Korrektur.
Ja hab ich, sonst würde ich doch die Anfangsbedingung nicht sehen.

von Jim M. (turboj)


Lesenswert?

Schau Dir mal http://ics.nxp.com/support/documents/?type=software an, 
dort scheint eine neuere Version der LPC175x and LPC176x CMSIS-Compliant 
Standard Peripheral Firmware Driver Library (GNU, Keil, IAR) zu stehen, 
von Juni 2011.  Bei meinem LPC1768 tut die mit I²C.

von Alex (Gast)


Lesenswert?

Danke für den Tipp.
Bin grade am ausprobieren.

von Martin M. (capiman)


Lesenswert?

Hast du die Punkte in Kapitel 19.1 des User Manuals beachtet?

Hier ein Auszug:

1) PCONP
2) PCKSEL0 (für I2C0) und anderes Register PCKSEL1 (für I2C1 und I2C2)
3) PINSEL, PINMODE, PINMODE_OD

!!! I2C0 is not available in the 80-pin package. !!!

von Mr.T (Gast)


Lesenswert?


von Alex (Gast)


Lesenswert?

Für die Nachwelt.
Ich habe meinen Fehler gefunden. Ich benutzte den EXT_Powx Pin des LPC 
Boards als Spannungsquelle für die Pull-UPs.

Problem ist dass diese Selbst bei einer Belastung mit einem 10K 
Widerstand zusammenbricht.   -.-

Als ich die Spannungqelle änderte funktionierte alles einwandfrei.

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.