LPC845-BRK: Verständnisproblem I2C-Beispiel

Gast #5810181
Lesenswert?

Hallo,

ich habe mich mal wieder dem neuen LPC845-BRK gewidmet, da mir dieser 
Chip echt wahnsinnig gut gefällt. Die Beispiele mit dem SDK (Software 
Developement Kit) sollen ja die Lib/Driver erklären. Nur macht das bei 
mir irgendwie wieder das Gegenteil: Im Beispiel LPC845_I2C_accel_led 
steht
1
i2c_master_config_t masterConfig;               // legt masterConfig-struct an?!
2
...
3
masterConfig.baudRate_Bps = I2C_BAUDRATE;       // stellt darin den Wert I2C_BAUDARTE ein; ein define mit 100000
4
...
5
masterConfig.enableTimeout = true;              // setzt enableTimeout auf true
6
/* Initialize and set default configuration: clock, freq for I2C master device */
7
I2C_MasterGetDefaultConfig(&masterConfig);      // liest JETZT??? die default-config ein; baudrate 100000 (egal, da gleich), aber enableTimeout auf false.
8
I2C_MasterInit(BOARD_ACCEL_I2C_BASEADDR, &masterConfig, I2C_MASTER_CLOCK_FREQUENCY);                    // Und hier wird I2C mit diesem geänderten struct dann initialisiert?!
Ich begreife es nicht: Die Baudrate mit 100000 ist redundant, daher 
überflüssig. Aber die Eigenschaft enableTimeout wird mit true gesetzt, 
um dann vom default mit false wieder überschrieben zu werden? Ist das 
jetzt wieder so ein "Beispielfehler" von NXP oder verstehe ich diese 
Treiber wirklich irgendwie falsch? Bei Ersterem lasse ich die Beispiele 
vermutlich dann lieber sein, da es mich mehr verwirrt als hilft.

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