mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430F2013 I2C Library gesucht


Autor: Bastlbub (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Sven (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Bastlbub (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau die geht halt bei mir nicht :-/

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was heißt "geht nicht" genau?

Autor: Bastlbub (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bastlbub (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Im Anhang habe ich meinen Code eingefügt.

Als erstes ist die Frage ob die Initialisierung des uC so richtig ist:
  WDTCTL = WDTPW + WDTHOLD;  //Stop Watchdog
  BCSCTL1 = CALBC1_1MHZ;
  DCOCTL = CALDCO_1MHZ; // SET DCO

Dann könnte es noch in der I2C_MAX6956Init()-Funktion einen Fehler 
geben.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?!?

Autor: Bastlbub (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.