Hallo, ich suche für den MSP430F2013 eine I2C Library. Die Funktionen, die ich bisher gefunden und angepasst habe, wollten leider nicht. Drum würde ich es gerne mal mit Praxiserprobtem ausprobieren. Grüßle Bastl
Hallo, vesuch mal diese hier. Die habe ich glaube ich von www.mathar.com. Bei mir läuft das ganze erfolgreich auf einem msp430f149. Vielleicht passts ja. Gruß Sven
Also ich habe ein Projekt vom AVR hergenommen und die I2C-Funktionen vom AVR durch die vom MSP ersetzt. Bei AVR geht der Maxim Baustein, beim Msp nicht.
Im Anhang habe ich meinen Code eingefügt. Als erstes ist die Frage ob die Initialisierung des uC so richtig ist:
1 | WDTCTL = WDTPW + WDTHOLD; //Stop Watchdog |
2 | BCSCTL1 = CALBC1_1MHZ; |
3 | DCOCTL = CALDCO_1MHZ; // SET DCO |
Dann könnte es noch in der I2C_MAX6956Init()-Funktion einen Fehler geben.
Hallo, ich würde erst einmal in der Main die Ports noch deklarieren, an denen I2C hängt. Dann würde auch einmal wenns geht die void I2C_MAX6956Init(void) abspecken und eins anch dem anderen versuchen wenn das geht. Ich kenne den Baustein leider nicht, so kann ich nichts dazu sagen, ob die Reihenfolge der Daten usw. stimmt. Dann könntest du vielleicht auch mal mit einem Oszi auf dem Bus nachschauen, was da passiert, ob überhaupt das richtige gesendet wird oder ob da überhaupt was passiert. Dazu würde ich wie gesagt die void I2C_MAX6956Init(void) Stück für Stück aufbauen. Von dem DCO habe ich selbst auch noch keine Ahnung. Ich würde aber sagen, dass es auf keinen Fall an der Library liegt sondern in der void I2C_MAX6956Init(void). Gruß Sven
Du hast die Ports ja nicht als Ausgänge usw deklariert, wie Scen schon schrieb. Außerdem meine ich, der F2013 hat doch wohl eine USI Schnittstelle, die man als Hardware-I2C laufen lassen kann. Wieso dann so umständlich mit Bitgeklapper selber machen?!?
In den einzelnen Funktionen (SCL_low(),...) wird doch immer die Richtung entsprechend mit folgender Anweisung umgeschaltet: P1DIR|=SCL; Mir wäre ja eigentlich auch ein Code lieber der direkt die Hardwareregister der I2C Schnittstelle anspricht, aber der TI Sample Code scheint auf den ersten Blick zu umständlich.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.