Gast
#2350842
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