Hallo zusammen, ich benutze das EM430F6137rf900 Board und will von einem Sensor Daten mit i2c abfragen. Ich sehe mir SLA und SCL mit dem Oszi an, sehe allerdings überhaupt nichts. (außer den ca 2.5V, die die Leitungen über die 10k von Vcc bekommen) Um den Fehler zu finden habe ich jetzt nur den Master an SLA und SCL gehängt und will jetzt nur das Start Bit auf dem Bus sehen, aber noch nicht mal da sehe ich was ich benutze folgenden Code #include "cc430x613x.h" void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT //---------------------------------------------------------------------- --- // PORT MAPPING PMAPPWD = 0x02D52; // Get write-access to port mapping regs P2MAP6 = PM_UCB0SDA; // Map UCB0SDA output to P2.6 P2MAP7 = PM_UCB0SCL; // Map UCB0SCL output to P2.7 PMAPPWD = 0; // Lock port mapping registers //---------------------------------------------------------------------- --- // P2.6 & P2.7 als I2C P2SEL |= BIT6 + BIT7; // Select P2.6 & P2.7 to I2C function //---------------------------------------------------------------------- --- // INIT I2C UCB0CTL1 = UCSWRST; // Enable SW reset UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC; // I2C Master + I2C Mode + Sync Mode UCB0CTL1 = UCSSEL_2 + UCTR + UCSWRST; // SMCLK + Transmitter Mode + Software reset enable UCB0BR0 = 12; // fSCL = SMCLK/12 = ~100kHz UCB0BR1 = 0; UCB0I2CSA = 0x48; // Slave Address is 048h UCB0CTL1 &= ~UCSWRST; // Clear SW reset, resume operation //---------------------------------------------------------------------- --- //Start bit setzen UCB0CTL1 |= UCTXSTT; while((UCB0CTL1 & UCTXSTT) != 0) //Warte bis adresse und startbit gesendet } Habe ich da irgendwas gravierendes vergessen? Ich probiere schon 2Tage daran rum Vielen Dank für eure Antworten Gruß Andy
Auf dem Bus müsste ich doch wenigstens irgendwas sehen, das Startbit sollte ja eigentlich den SLA kurz auf Low ziehen. Einen Slave brauche ich dafür ja nicht der Master muss ja erstmal überhaupt ein Lebenszeichen von sich geben Die Beispiele von TI habe ich mir angesehen das passiert auch nichts auf dem Bus. Hat irgend jemand eine Idee? Oder ein ganz simplen I2C Code für z.B. den msp430 der bei euch funktioniert hat?
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.