Hallo Leute, ich bin ein Anfänger und benutze ein STK-500-Board zum Programmieren. Ich habe in AVR-Studio ein ganz primitives c-code geschrieben und würde gerne diesen auf den ATMega16 schreiben. Dies funktioniert aber nicht (Fehlermeldung siehe Anhang)! c-Code: #include<avr/io.h> #include<stdint.h> int main(void) { DDRA=0xff; return(0); } Muss ich noch bestimmte Frequenzen einstellen? Gibt es Erfahrungswerte? Ich benutze keinen externen Quarz? Wie ist die Datenrate bei einem ATMega16? Und wie kann ich die interne Datenrate prüfen? Ich hoffe ihr könnt mir weiterhelfen denn ich sitze schon den gsnzen Tag!
Hallo A. W. ganz am Anfang bin ich darauf hereingefallen, dass die ATMegas in den Sockel SCKT3100A3 gesteckt werden müssen (rot unterlegt). ISP6PIN muss über eine Leitung mit SPROG3 verbunden sein. Ich hoffe, dass dir das weiterhilft. Gruß, Alexander
ich habe mein ATmega16 in den SCKT3000D3 gesteckt und die Leitung ist auch richtig gesetzt.
Ist das ein neuer Controller (Fuses falsch gesetzt)? Sind die Jumper richtig gesteckt? Ist die Clock-Frequenz min. 4x größer als die ISP-Frequenz? Meistens liegt's daran dass der µC keinen oder zu niedrigen Takt hat (wie die Meldung auch sagt). Früf' das nochmal, dann findest du den Fehler sicher!
Ja das ist ein neuer uC. Die Jumper sind richtig! Das mit der Clock-Freq. verstehe ich nicht(4x als die ISP Frequenz? Kann mir jemand sgen welche fuses ich setzen muss und wieso?
also standart is beim Mega16 der interne 1Mhz oszillator an, das heißt du darfst max. 250khz ISP frequenz haben.
Es funktioniert nicht. ich habe 3xATMega16 getestet und keiner funktioniert.(Einstellungen siehe Anhang)
Kannst Du andere Kontroller programmieren? Besonderst welche, bei denen der interne RC Oszillator deaktiviert ist, und du eine externe Taktquelle nutzt. Hintergrund: Auf meinem STK500 ist der Opamp der Taktversorgung des Boards defekt gewesen, dieser ist das letzte Bauteil vor dem XTAL Jumper und generiert das Rechtecksignal für den Takt aller Sockel. Solange du nur Kontroller programmierst die interne Oszillatoren verwenden fällt das nicht auf. Ich habe es nur festgestellt weil ich einen AT90S2313 programmieren wollte, was nicht ging. Mit dem Oszi lies sich dann feststellen, das die Clockleitung auf allen Sockeln nur fix auf VTG lag.
Hallo Laut STK500 User Guide gehört der atmega16 devinitiv in den Sockel SCKT3100A3. Steht zumindest auf Seite 3-10. Habs auch grad probiert, bei mir gehts in dem Sockel ohne Probleme. mfg Max
@ Michael Wolf: es war ein AtMega16 uC bei den STK500 Board mitdabei. Diesen kann ich beschreiben. Ich habe zusätzlich ATmega16 gekauft. Diese kann ich aber nicht beschreiben. Ich benutze eigentlich ein internes Clocksignal. @max.p: So wie ich es rausgelesen habe kann der ATMEga16 unterschiedlich programmiert werden. 1. ISP Programming 2. High-voltage Programming Und sorry dass ich gestern nicht mehr geantwortet habe. Ich hatte ein Termin.
>So wie ich es rausgelesen habe kann der ATMEga16 unterschiedlich >programmiert werden. 1. ISP Programming > 2. High-voltage Programming Das gilt nicht nur für den Mega16. Verbinde ihn doch mal per High-Voltage-Parallel-Programming-Mode (Data- und CTRL-Leitung legen). Dann im AVRStudio natürlich auch HV-Parallel-Programming anwählen. Dann solltest du auf jeden Fall die Fuses lesen können. Da solltest du dann mal gucken, wie SPIEN gesetzt ist.
@inoffizieller WM-Rahul: Ich kann die Fuses lesen. Kann ich auch ohne HV-Programming sondern mit ISP es versuchen? Ich verstehe bloß die Fuses Einstellungen nicht.
Ich würde es einfach mal mit dem HV-PP-Mode probieren. Ich hatte schon Controller, bei denen werkseitig SPIEN gelöscht war, und somit auch eine Programmierung über SPI nicht möglich war.
HV-PP-Mode funktioniert! Aber SPI Programmierung nicht. Komisch!!! Ich hätte da noch eine Frage! Ich verwende jetzt einen uController mit dem Package 16PU (es ist auch ein Brummer). Ich möchte einen ATMega16 im SMD-Format verwenden (quadratisch). Ich habe mir schon einen ausgesucht. Ich weiss aber nicht wie ich diesen programmieren kann (keine Fassung auf dem Board). Gibt es Möglichkeiten wie ich diesen programmieren kann? Am besten wieder mit STK500 und AVR-Studio.
>Aber SPI Programmierung nicht.
Guck dir mal die SPIEN-Fuse an!
Für SMD-Gehäuse gibt es auch Nullkraft-Sockel, allerdings zu horrenden
Preisen.
Mancheiner hat sich auch eine Adapterplatine gebaut, auf der der
Controller mit einer Feder gehalten wird...
Eigentlich sollten die SMD-Bausteine problemlos IS-programmierbar sein.
Meine SPIEN-Fuse ist mit Fragezeichen versehen (siehe Anhang). Was bedeutet dies? Und was ist der Unterschied zw. SPI und ISP?
>Und was ist der Unterschied zw. SPI und ISP? Die Reihenfolge der Buchstaben... ;) ISP steht für In System Programable, also im System programmierbar SPI steht u.a. für serial periferal interface, also eine serielle (synchrone) Schnittstelle, die bei AVR (ausser dem Mega128) auch zum Programmieren benutzt wird. >Meine SPIEN-Fuse ist mit Fragezeichen versehen (siehe Anhang). Das Bild müsste im SPI-Programmiermodus entstanden sein. Im HV-PP-Mode sollte es eindeutig markiert sein.
@ A.W Das ISP-Programming würde bei dir funktionieren, wenn du auf der Registerkarte "Board" die "ISP Freq." z.B. auf 230.4 kHz einstellen würdest. Das ist genau das was eingangs von Sonic im Thread erklärt wurde.
@Peter Das habe ich auch schon versucht. Es klappt aber nicht! Eine Frage noch: Ich will jetzt ISP-programmierung ohne STK500 Board Veruchen. Ich habe aber keinen externen Quarzoszillator. Würde ein intern. RC-Oszillator genügen? Und muss ich noch was bestimmtes beachten?
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.