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.