Mikro brauch nach übertragen meistens noch einen Reset

OP #2517235
Lesenswert?

Hallo,
nachdem ich meinen Atmega168 übertragen habe startet der yC zu 50% nicht 
von selber, sondern benötigt noch einen Reset indem ich z.B. mit dem 
Programmer einmnal die Fuses auslese oder händisch einen Reset sende.
Wodran kann das wohl liegen?

Im Anhang ist der Anschlussplan und das makefile, ich hoffe das genügt.
Vielen Dank.
Angehängte Dateien:
OP #2517246
Lesenswert?

http://shop.myavr.de/Programmer/mySmartUSB%20MK2%20%28Programmer%20und%20Bridge%29.htm?sp=article.sp.php&artID=42

Das ist der Porgrammer, im Anhang noch die .pdf. Den Anschlussplan muss 
ich gerad noch genau zeichnen...kommt sofort.

Und das Porgramming tool. Auch wenn ich den Haken "send Exit after 
programming" setze ändert sich nichts...
Angehängte Dateien:
OP #2517256
Lesenswert?

Heinz schrieb:
> Wenn er nicht losläuft, miss mal den Pegel am Reset-Pin, der muss high
> sein. ist er das nicht, läßt der Programmer ihn nicht los.

Während dem Programming ist er low, ganz sauber ohne zacken, danach ist 
er sofort auf 5Volt.
Wenn ich dann "Send exit" sende geht der PEgel einmal kurz auf zero und 
ggf. startet dann der yC. Aber auch nicht immer beim ersten mal...
Gast #2517417
Lesenswert?

hast mal den 10K PullUp am Reset weggelassen? der interne sollte 
eigentlich reichen ... es könnte sein dass der 
Power.Off-Power-On-Reset-Zyklus nach dem brennen nicht sauber rüber 
kommt ... StartUpTime wärte ne idee und mal schauen was nach dem 
berennvorgang an VCC laos ist ... speist du über den Programmer oder 
autonom? es sollte nach dem brennen einen komplettes power-off geben und 
power on ...
Gast #2517534
Lesenswert?

Habt ihr alle Tomaten auf den Augen, oder hab ich was
falsch gelernt?

Auf den ersten Blick fehlt mir ein C = 27...100 nF am
Reset-Pin.

Wann soll denn der µC die Reset-Aktionen durchführen,
wenn er in NULL Systemtakten vom Prog- in den Arbeitsmodus
geschubst wird?????
Gast #2517542
Lesenswert?

>Auf den ersten Blick fehlt mir ein C = 27...100 nF am
>Reset-Pin.

Überflüssig wenn der Brown Out aktiviert ist.
Grosse Kondensatoren am Reset können den Prommer
stören. Ein kleiner 1nF dagegen hilft gegen Glitches
und nervt den Prommer nicht so. Mehr sollte man da
nicht dran machen.
Gast #2517589
Lesenswert?

>Grosse Kondensatoren am Reset können den Prommer stören.

Nur wenn der nichts taugt. Der amtliche Programmer von Atmel 
(AvrIspmkII) erlaubt bis zu 10µF!

>Ein kleiner 1nF dagegen hilft gegen Glitches und nervt den Prommer nicht
>so. Mehr sollte man da nicht dran machen.

Atmel selbst empfiehlt da ja deutlich mehr als 1nF. Viele haben deshalb 
dort auch wesentlich mehr. Ein guter Programmer muß das 
selbstverständlich können.

Ich frage mich hier sowieso, warum nicht ein vom Hersteller empfohlener 
Programmer zum Einsatz kommt. Immer der Ärger mit diesen 
Toy-Programmern...
Gast #2517601
Lesenswert?

@ holger

Das klingt verwegen!

Besonders deine Gewissheit, dass jeder, der nicht
weiß, wozu ein C am Reset-Pin gut ist, den Brown Out
gefuset hat...

Wie wird der BOD denn vom "mysmartusb-mk2" ausgelöst?
OP #2518182
Lesenswert?

Peter Dannegger schrieb:
> Markus P. schrieb:
>> nachdem ich meinen Atmega168 übertragen habe startet der yC zu 50% nicht
>> von selber
>
> Ist in der Regel ein Fehler in Deinem Programm.
> Irgendwas wird nicht richtig initialisiert.
>
> Ein beliebter Fehler ist z.B., den /SS-Pin nicht vor SPI-Master-Mode
> auf Ausgang zu setzen.
>
>
> Peter

Guter tip Peter, evtl poste ich den Code heut Abend, wenn ich's selber 
nicht finde!
OP #2518803
Lesenswert?

Peter Dannegger schrieb:
> Markus P. schrieb:
>> nachdem ich meinen Atmega168 übertragen habe startet der yC zu 50% nicht
>> von selber
>
> Ist in der Regel ein Fehler in Deinem Programm.
> Irgendwas wird nicht richtig initialisiert.
>
> Ein beliebter Fehler ist z.B., den /SS-Pin nicht vor SPI-Master-Mode
> auf Ausgang zu setzen.
>
>
> Peter

Wie muss ich denn jetzt den PORTB an den der SPI hängt initialisieren?

Ich dachte als Eingang:

DDRB    = 0b00000000;       // Port B als Eingang definieren
PORTB   = 0b11111111;       // Port B Pullup aktivieren
Gast #2519952
Lesenswert?

>Kann mir da vielleicht jemand weiter helfen. Der yC startet immer noch
>nicht sauber, auch auf meinen myAvr-Testboard. Also es muss am Programm
>liegen...

Lieber Markus, das kannst du doch ganz einfach selbst herausfinden: 
Jetzt programmierst du erst einmal einen ganz einfachen Code, der nur 
aus ein paar Zeilen besteht und beispielsweise einen Port toggelt. Wenn 
das klappt liegt es schon mal nicht am Programmer.

Dann gehst du weiter und programmierst einzelne Teile von deinem Code, 
zum Beispiel die ganzen Initialisierungen. Wenn es wirklich am Code 
liegt, dann wird er irgendwann aussteigen...

Divide and conquer!

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