mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430 und si4705 (I2C) reden nicht miteinander


Autor: max L. (microspace)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Verwende einen MSP aus der MSP430x22x2 Familie und den FM/RDS Chip 4705.
Verbunden über I2C und emuliert mit dem IAR + Launchpad. Hab hier aus 
dem Forum die I2C Softwaresteuerung (Michael) als Basis genommen. Leider 
reagiert der 4705 gar nicht, sprich die Vars arg[x] haben keinen 
sinnvollen Wert (alle FF).
Hat jemand ev. eine Idee, woher dass Problem kommen könnte?
(OV7141 entspricht hier dem 4705)
Fehlen noch Infos?
Gruß

    DTCTL = WDTPW + WDTHOLD;

    P1DIR |= 0x01;
    P1OUT &= 0xFE;  //LED aus (test)
    P1OUT |= 0x01;  //LED an

    P3OUT  = P3OUT_INIT;     //Init output data of port3
    P3SEL  = P3SEL_INIT;     //Select port or module -function on port3
    P3DIR  = P3DIR_INIT;     //Init port direction register of port3
    DCOCTL = 0xE0;           // set DCLOCK to fastest
    BCSCTL1 = 0x87;
    BCSCTL2 = 0x00;

    /* Init the OV7141 */

    sendCmd2(OV7141, 0x01, 0x02 ,0x50);   //POWER_UP
    arg[0] = readData();   // Read Status CTS

    sendCmd(OV7141, 0x10);   //GET_REV
    arg[1] = readData();  // Read Status CTS
    arg[2] = readData();  //Read 1..8 Args
    arg[3] = readData();
    arg[4] = readData();
    arg[5] = readData();
    arg[6] = readData();
    arg[7] = readData();
    arg[8] = readData();
    arg[9] = readData();

    I2C_stop();

Autor: 2ter Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was genau geht nicht? Wird denn die Slave-Addrese akzeptiert (ACK)? Pull 
ups vergessen?

Autor: max L. (microspace)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Die internen Pullups habe ich aktiviert
P3REN  = 0x0C;         //3.2 3.3

I2C_gotACK gibt eine 1 zurück, falls Du den Code kennst.

Autor: 2ter Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Code habe ich nicht. In deinem Code war nicht ersichtlich, ob Pull 
ups aktiv waren oder nicht. Im Zweifel trotzdem mal Nachmessen ob die 
Port-Pins die Pegel erzeugen; i2c routinen im schrittmodus durchlaufen 
und fröhlich das multimeter dran

Weiterhin sieht man nicht, ob z.B. P3SEL_INIT auch den richtigen PIN 
initialisiert.


Nebenbei:
Ich habe übrigens auch das TI Launchpad. "Mein" Launchpad hat max. 20 
I/O. Lassen sich extern auch größere MSPs (wg. P3DIR) debuggen?

Autor: max L. (microspace)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

na dann muß ich morgen mal alles relevaten Pins Durchmessen.
Die Regtister (P3OUT,..) zeigen zumindest alles richtig an.

Dirty-Code anbei.
Vielleicht sieht Du ja auch nen Bug ;-)

Also als Basis habe ich sicherlich das gleiche Launchpad wie Du.
Ich hab über das Spy-by-wire Interface eine weiter Platine dran.
Da ist der MSP430F2274IDA drauf. Über die korrekte Chipauswahl in IAR
kommst Du an alle Register und Pins ran.

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.