I2C bei MSP430F2122

OP #2269627
Lesenswert?

Hallo,

ich versuche schon seit einer Weile mit dem µController MSP430F2122 per 
I2C ein Digtalpotentiometer (MAX5477EUD) anzusprechen, jedoch bekomme 
ich kein Signal an den Ausgängen.
Um das Potentiometer anzusprechen muss ich zuerst ein Command-Byte 
senden, wohin ich schreiben möchte, und dannach ein Daten-Byte, welches 
mir den Widerstand einstellt. Jedoch genau hier scheitere ich, da ich 
nicht weiß ob ich die nacheinander etc. senden muss.
Zum kompilieren verwende ich die MSP430-GCC tools. Im Anhang mein 
C-File. Vielleicht hat ja jemand eine Ahnung...

Danke im Voraus
mfg
Angehängte Dateien:
OP #2271243
Lesenswert?

Also ich glaube jetzt durch Messungen mit dem Oszilloskop darauf 
gekommen zu sein, dass mein Programm nur die Slave-Adresse sendet und 
den Rest ignoriert....
1
char data = 0xff;              //data step 170
2
  char command = 0xff;            //nvreg of both wiper
3
    
4
  while(1)
5
  {
6
  
7
  while(UCB0STAT & UCBBUSY);          //wait for bus to be free
8
    
9
  UCB0I2CSA = 0x28;              //slave address MAX5477EUD = 0101000
10
  UCB0CTL1 &= ~UCSWRST;                       // Clear SW reset, resume operation
11

12
  UCB0CTL1 |= UCTR + UCTXSTT;         //I2C TX, Send Start
13
  
14
  UCB0TXBUF = data;              //wird nicht gesendet ?
15
  UCB0TXBUF = command;
16
  
17
  UCB0CTL1 |= UCTXSTP;                    // I2C stop condition
18
  IFG2 &= ~UCB0TXIFG;                     // Clear USCI_B0 TX int flag
19
  }

Aber warum ist die Frage^^?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren