Forum: Mikrocontroller und Digitale Elektronik noob! Butterfly Problem


von Kalle Pohl (Gast)


Lesenswert?

hallo leute,

als neuling in sachen atmel habe ich folgendes problem: mein proggi
(geschrieben und erfolgreich getestet in AVR Studio 4) will nicht auf
meinem butterfly laufen. das getestete proggi bekomme ich
offensichtlich wunderbar auf den flash (seriell, so wie überall
beschrieben). vorgehensweise:

- projekt öffnen
- butterfly (externe versorgung - definitiv absolut stabil)
bootloaderreset (pins ganz unten rechts kurz kurzschliessen)
- joystick drücken
- AVRProg starten
- hexfile wählen und flash starten (funzt wunderbar, testweise hab'
ich das geflashte wieder erfolgreich runtergelesen)
- exit aus AVRProg
- joystick nach oben drücken
- KEINE REAKTION des µC

wäre euch dankbar für eure hilfe
so long
kalle

von Kalle Pohl (Gast)


Lesenswert?

schade, ich dachte man kann helfen. nichts für ungut leute...

so long
kalle

von Ronny (Gast)


Lesenswert?

Du hast eine Endlosschleife reingeflasht (while(1==1){};) und schaust
von aussen drauf.Keine Reaktion,aber du kannst die Schleife prima
zurücklesen...

Wenn du Hilfe erwartest,gib uns bitte etwas mehr,raten mag hier keiner
gerne.

1.WAS hast du reingeflasht?
2.WAS soll das Programm machen
3.WIE merkst du,das der Controller nicht arbeitet?

Ein Fehlerhaftes Programm hängt sich unter Umständen einfach auf,ohne
das man so einfach sagen kann,woran es liegt.Zumindest der Quellcode
wär hilfreich.

von Martin Thomas (Gast)


Lesenswert?

Man koennte ... aber da flashen des "proggi" offensichtlich
funktioniert hat und die genannten Schritte im Prinzip so korrekt sind,
liegt es wohl an der selbstgeschriebenen Software und darueber fehlt
saemtliche Information, anhand der man zumindest einen Hinweise geben
koennte. Nichts fuer ungut, aber die Anzahl und Qualitaet von Antworten
ist meistens davon abhaengig wie gut die Frage gestellt wurde.
Vielleicht erstmal mit einem funktionierenden Beispielcode fuer den/das
BF starten und ein wenig daran veraendern. Erfolgreiche Simulation ist
noch kein sicherer Hinweis darauf, dass es in "echter" Hardware auch
funktionieren wird. Einstellungen des Bootloaders beruecksichtigt?

von Kalle Pohl (Gast)


Angehängte Dateien:

Lesenswert?

wollte niemanden angreifen, also entschuldigung wenns so angekommen
ist.

ja, ne endlosschleife ist drin ( while(true) ). es werden 3Bytes auf
den SPI ausgegeben (primärer zweck des proggis). zum debuggen muss der
/SS eingang (PortB Pin 0) auf high gesetzt werden sonst fungiert das
SPI als slave. ferner blinkt eine debug-LED...leider nur in der
simulation.

code ist angehängt - bei der gelegenheit wäre es schön, wenn mir jemand
sagen könnte, wie man in C einzelne PortBits schreibt/ließt...ich
vermisse assambler, aber wat mut, dat mut  ; )

so long
kalle

von Kalle Pohl (Gast)


Lesenswert?

hallo martin,

ähm, welche einstellung des bootloaders? mein butterfly zeigt nichts
mehr an....also kein menü oder sonstwas....wie gesagt, bin halt noch
neu auf der atmel-schiene...


so long
kalle

von Kalle Pohl (Gast)


Lesenswert?

so, ich habe nun ein proggi zum laufen bekommen (einfach nur toggle des
PB0). also scheint das problem in der init der SPI zu liegen...kann mir
jemand sagen wo der fehler liegt?

so long
kalle

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Ersetze mal:
while(SPSR != 0x80);

mit:
while ( !( SPSR & _BV (SPIF) ) );

Deine while Schleife läuft ständig wenn auch nur ein anderes Bit im
Register SPSR zusätzlich gesetzt ist, aus welchem Grund auch immer.

Das:
SPSR = (0<<SPIF);
ist nicht zwingend Notwendig.

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
Noch kein Account? Hier anmelden.