PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RN Control defekt? LED 1 leuchtet dauerhaft



Andy003
13.07.2012, 17:06
Hallo,
versuche gerade eine I2C Kommunikation mit einem Sensorboard herzustellen. Jedoch gibt es schon beim Aufbau des Bus Probleme.

Mir ist aufgefallen, dass wenn ich den Controller mit einem leeren Programm flashe die LED 1 leuchtet (parallel SCL vom I2C) auch wenn der Port C gar nicht aktiviert wurde.
Woran liegt das oder ist das normal?

Auch wenn ich gerade am flashen bin leuchtet die 1. LED. Alle anderen sind aus.

Wenn ich ein Programm flashe in dem Port C aktiviert wird und dann die LED's ausschalte funktioniert dies auch. Aber die I2C Kommunikation funktioniert trotzdem nicht.

Danke im Vorraus!

Kampi
13.07.2012, 17:16
Hey,

poste mal bitte deinen Code.

Andy003
13.07.2012, 17:20
#ifndef F_CPU
#define F_CPU 8000000UL
#endif

#include <avr/io.h>
#include <avr/interrupt.h>

...


int main(void)
{
//Initialisierung
init_USART();
init_timer0();
i2c_init();
sei();


setup_adxl345();
//setup_itg3200();

while(1)
{

}
}


void setup_adxl345()
{
i2c_start(ADXL345_ADRESS+I2C_WRITE); //I2C Startsequenz + Write
i2c_write(DATA_FORMAT); //0x01 (+/- 4 g) in Register DATA_FORMAT
i2c_write(0x01);
i2c_write(POWER_CTL); //0x08 (Measurement Mode) in Register POWER_CTL
i2c_write(0x08);
}



Ich verwende die I2C Bib von Peter Fleury.


Wenn ich setup_adxl345(); auskommentiere, dann bleiben die LED's aus.

Er bleibt in der i2c_start Routine hängen:


unsigned char i2c_start(unsigned char address)
{
uint8_t twst;
// send START condition
TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
sendUSART("2");
// wait until transmission completed
while(!(TWCR & (1<<TWINT)));
-> Hier bleibt er stehen


Fehler auf dem Sensorboard (Robo Bee 6 DOF) kann ich eigentlich ausschließen, hat 2k2 Pullups onboard.

Andy003
13.07.2012, 17:25
Was mir halt ziemlich komisch vor kommt ist, das beim Flashen die erste LED leuchtet!

Ich habe das Controllerboard über einen Adapter (mit Wannenstecker) an Port C angeschlossen.

Andy003
13.07.2012, 18:01
Reichen die 2k2 Pullups vielleicht nicht aus?

Kampi
13.07.2012, 18:21
Was soll er überhaupt senden? Du setzt ein paar Bits im TWI Controlregister aber schreibst nichts ins Datenregister.

Andy003
14.07.2012, 10:47
Das ist ein Code Ausschnitt aus der Bib von Peter Fleury. Ich komme ja erst gar nicht dazu irgendwelche Daten zu schreiben...

Mir ist jetzt noch aufgefallen, dass das Rn Control bereits 10k Pullups onboard hat, das verwendete Sensorboard hat ebenfalls 2k2 Pullups. Kann es sein, dass es daran liegt? Wenn ja kann ich die Pullups des RN Control deaktivieren oder müsste ich die auftrennen?

Danke!

Kampi
14.07.2012, 14:53
Ob es daran liegen kann weiß ich nicht. Kann aber sein.
Und trennen kannst du die nicht.

Andy003
14.07.2012, 14:58
Daran hat es nicht gelegen, habe die Widerstände ausgelötet, ohne Erfolg.

Vielleicht hat mein RN Control irgend einen Schaden? Leuchtet bei dir die LED 1 wenn du flashst?

Kampi
14.07.2012, 15:01
Nein tut es nicht.
Hast du vielleicht noch das JTAG Interface aktiviert?

Andy003
14.07.2012, 15:07
Nein JTAGEN ist aus.
So zeigt es mir auf jedenfall avr studio an!
Kann ich das noch auf eine andere Weise nachprüfen?

Andy003
14.07.2012, 15:16
Also JTAGEN ist definitiv aus.
Ich denke mein Board ist wohl defekt. Wenn ich den Reset tester gedrückt halte leuchtet auch die erste LED.

Andy003
14.07.2012, 16:02
Kann das am IC liegen?

Hubert.G
14.07.2012, 21:07
Was ist wenn du den ATmega heraus nimmst?

Andy003
15.07.2012, 16:54
Habe den ic gerade raus genommen. Led leuchtet nicht mehr. Ic defekt?

Hubert.G
15.07.2012, 17:45
Sieht so aus. Besorge die mal einen neuen. Etwas Reserve ist ohnehin nicht schlecht.