Datum: 18.04.2008 20:41
Mit I2CNDAT will ich, wie unten gezeigt, 3 Byte an den EEPROM absenden.
Wähle ich I2CNDAT größer 2, bleibt das Programm hängen.
Was könnte ich falsch machen?
MfG
Wolfgang
void I2C_Init (void)
{
P3SEL |= 0x0A; // Assign I2C pins to module
U0CTL |= I2C + SYNC; // schaltet UART auf I2C bzw. auch SPI
U0CTL &= ~I2CEN; // Recommended init procedure -schaltet I2C ein
I2CTCTL |= I2CSSEL1; // SMCLK-- I2CTCTL = Übertragungsregister mit
// SMCLK laden, I2CWORD=0 --> byteweise
I2CTCTL&=~I2CRM;
U0CTL |= I2CEN; // Enable I2C
}
void schreib_24LC(void) //Adresse 0 1 0 1|0 A2 A1 A0|RW ; 0x51 bei A1=1;
// 0101 0010
{
I2CSA = ADRESSE_24LC;
I2CNDAT = 0x03;
U0CTL |= MST; // Master mode
I2CTCTL |= I2CSTT+I2CSTP+I2CTRX;
while ((I2CIFG & TXRDYIFG) == 0);// Wait for transmitter to be ready
I2CDRB = 0x01; //Adresse Byte 1
while ((I2CIFG & TXRDYIFG) == 0);
I2CDRB = 0x06; //Adresse Byte 2
while ((I2CIFG & TXRDYIFG) == 0);
I2CDRB = 0xAB; // Datenbyte
while ((I2CTCTL & I2CSTP) == 0x02);
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel