Hallo, ich hab mal eine Frage. Nachdem ich mein Arduino Leonardo Atmel Studio "tauglich" gemacht hab macht er nichts mehr. Gleich vorweg ich bin absoluter neuling und beschäftige mich auch nicht ständig damit aber eben immer mal wieder. Zunächst wurde er in Atmel Studio nicht richtig erkannt. Ich mußte ihn neu flashen und hab dabei logischer weise den Bootloader überschrieben. Nun wird er zwar sofort erkannt aber er macht nichts mehr. Bei einem einfachen Blinklicht Programm blinkt nichts:( Er lässt sich auslesen und auch programmieren, es gibt keine Fehlermeldungen aber es passiert einfach nichts(z.B. an den Ports als Ausgang geschaltet). Auch die RX/TX Led´s gehen nicht mehr an als würde er sicht tot stellen. Wäre schade denn ich hab mir extra dieses tolle Buch Arduino und C... gekauft. Und nun... Würde mich sehr über Hilfe freuen. Grüße Thomas
Noch kurz zur Information. Er hängt über ISP an einem AVRISP mkII, alles wird in Atmel Studio 6 erkannt. unter meinem Windows 7 sind alles notwedigen Treiber installiert(wie gesagt erkannt wird er. Auslesen und Programmieren lassen lässt er sich aber wie oben beschrieben)
Meine 2009er brauchen einen Reset Impuls vom Stöpseln des USB, bevor sie wieder richtig loslegen. Allerdings fehlt da noch eine Menge Info: * Wie stehen die Fuses des MC? * Wie sieht dein Programm aus? * Betreibst du den Leonardo mit USB oder einem externen Netzteil?
Hallo, sorry wegen den fehlenden Infos. Ich versuch alles so gut es geht zu vervollständigen. Der Reset Taster geht überhaupt nicht mehr(keine Reaktion). An Fuses in Atmel Studio sind eingestellt: BODLEVEL: 2V6 ISPEN ist ausgewählt BOOTSZ: 2048W_3800 SUT_CKSEL: EXTXOSC_8MHZ_XX_16KCK_65MS Lock Bits sind alle auf NO_LOCK Hier das Programm: (debugging verläuft ohne Fehler) /* *Blink1.c * *created: 2013 */ #define F_CPU16E6 #include <avr/io.h> #include <util/delay.h> int main(void) {DDRB = 13<<5; while(1) {PORTB = 13 << 5; _delay_ms(500); PORTB &= ~(13 << 5); _delay_ms(500); } } Falls ich irgendwas vergessen habe sagen.
Thomas schrieb: > #define F_CPU16E6 Selbst wenn diese Notation funktioniert, was ich im Moment nicht weiss, muss da ein Leerzeichen rein, also besser:
1 | #define F_CPU 16000000
|
Wichtig ist aber primär, das die richtige Frequenz in den Projekteinstellungen drinsteht. Dann kannst du dir die Programmzeile normalerweise sparen. Thomas schrieb: > DDRB = 13<<5; Das geht so nicht, bzw. liefert nicht das gewollte. Wenn du Bit 5 des PORT B als Ausgang möchtest, ist so etwas angesagt:
1 | DDRB = (1<<PB5); |
Das gleiche gilt für das Setzen des Pegels weiter unten. Besser:
1 | #define LED_BIT PB5
|
2 | |
3 | DDRB = (1 << LED_BIT); |
4 | while (1) |
5 | {
|
6 | PORTB |= (1 << LED_BIT); |
7 | _delay_ms(500); |
8 | PORTB &= ~(1 << LED_BIT); |
9 | _delay_ms(500); |
10 | }
|
Danke für die Hinweise. Habs mal probiert. Leider tut sich dennoch nichts. Irgendwie hab ich den Eindruck das der mc einen Hardwareschaden hat(wodurch auch immer). Wie gesagt haben früher beim übertragen oder lesen von Daten vom mc die TX/RX Led´s Aktivität angezeigt. Auch hier blinkt nichts mehr.
Es ist es nun mal die treffendste Aussage. Also wenn du mir helfen willst dann hör ich mir an was du zu sagen hast, wenn nicht dann halt dich bitte raus.
Thomas schrieb: > Wie > gesagt haben früher beim übertragen oder lesen von Daten vom mc die > TX/RX Led´s Aktivität angezeigt Das ist nur so, wenn du den Arduino Bootloader benutzt, dieser flasht ja über die USB Bridge. Du kannst aber gerne mal probieren, den Bootloder wieder in den Chip zu flashen und dann sehen, ob er wieder wie ein vanilla Arduino läuft. Nimm als LED Ausgabe auch einfach mal einen anderen Port, z.B. PB4 oder so. Wenn ich mich richtig erinnere ist bei meinen 2009ern an PB4 die kleine Onboard LED. Wenn der MC richtig defekt wäre, könntest du auch nichts mehr mit dem ISP MkII lesen und schreiben, der Chip ist also vermutlich ganz.
Wirst wohls recht haben. Hatte auch schon vor den Bootloader mal wieder zu flashen(soweit ich weis gibt es den im Internet runter zu laden.). Anderen Port hatte ich schon einige probiert, keine Änderung. Die besagte onboard LED bei dir ist bei mir PB13. Ich werd mal wegen dem Bootloader gucken und es versuchen. Danke für deine Hilfe auf jeden Fall. Wenn sich etwas ergibt sag ich bescheid.
Thomas schrieb: > SUT_CKSEL: EXTXOSC_8MHZ_XX_16KCK_65MS hab kein Ardudingsda, aber das liest sich so als ob der nur mit einem Externen Quarzoszilator (kein Quarz alleine) lostaktet
Thomas schrieb: > Die besagte onboard LED bei dir ist bei mir PB13. Tut mir leid, PB13 gibts bei ATMega nicht. Verwechsele bitte nicht diesen Kram von digitalWrite() aus den Arduino Sketchen mit echten Ports. Jeder Port des AVR hat max. 8 Bit, und beim ATMega32u4 sind die Ports mit den vollen 8 bit PORTB und PORTD. PortF scheint nicht ganz komplett herausgeführt zu sein.
Ok, dann hab ich was verwechselt. Ich werd jetzt erstmal bissle weg sein. Also falls noch antworten kommen dann nicht böse sein wenn ich nicht sofort Antworte. Natürlich darf ich nicht vergessen das ich euro Hilfe nötiger habe als umgekehrt:)
Thomas schrieb: > Die besagte onboard LED bei dir ist bei mir PB13. Siehe http://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf. Die Onboard-LED hängt am Arduino-Pin IO13, also an PC7 von PORTC!
Sebastian W. schrieb: > Die > Onboard-LED hängt am Arduino-Pin IO13, also an PC7 von PORTC! Aha, das erklärt doch einiges - lustig, das die LED über einem Opamp angesteuert wird, hatten wohl noch eine Hälfte frei. Von Port C sind am ATMega32U4 nur 2 Pins herausgeführt, PC6 und PC7. Port E ist nur mit PE6 und PE2 herausgeführt, und bei Port F fehlen PF2 und PF3. Als volle 8 - bit Ports stehen dir also Port D und Port B zur Verfügung. Um die Onboard LED blinken zu lassen, schreibst du dein Programm also auf Port C, Bit 7 um.
Sebastian W. schrieb: > Siehe > http://arduino.cc/en/uploads/Main/arduino-leonardo.... Die > Onboard-LED hängt am Arduino-Pin IO13, also an PC7 von PORTC! Im Schaltplan vom "Leonardo" ist als Taktquelle ein Quarz eingezeichnet. Thomas schrieb: > SUT_CKSEL: EXTXOSC_8MHZ_XX_16KCK_65MS Deutet das nicht auf einen externen Resonator hin?
als Gast schrieb: > Sebastian W. schrieb: >> Siehe >> http://arduino.cc/en/uploads/Main/arduino-leonardo.... Die >> Onboard-LED hängt am Arduino-Pin IO13, also an PC7 von PORTC! > > Im Schaltplan vom "Leonardo" ist als Taktquelle ein Quarz eingezeichnet. > > Thomas schrieb: >> SUT_CKSEL: EXTXOSC_8MHZ_XX_16KCK_65MS > > Deutet das nicht auf einen externen Resonator hin? Nein, wenn dann Oszillator. ISP würde aber ohne Takt nicht gehen, von daher vermute ich den Fehler woanders.
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.