Hallo, ich habe vor einigen Tagen das AVR-Starterkit(http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=108) erworben. Nun ärgere ich mich leider seit ein paar Tagen schon rum, weil ich das Teil nicht zum laufen bekomme. Habe alles gemacht, was im Handbuch beschrieben wurde und leider findet AVR-Studio 5 den AVRISP immernoch nicht. Habe darauf hin ein bisschen rumgeforscht und ausprobiert und habe jetzt AVR-Studio 4.19 installiert. Wenn ich unter Tools->ProgramAVR->Autoconnect gehe und da den ATmega8 auswähle und die ISP Frequenz runtersetze auf 250kHz blinkt wenigstens schonmal das rote Lämpchen des USBProg. Wenn ich dann in C folgenden Quellcode einfüge ( der war als Beispiel angegeben, um die LED am Board blinken zu lassen) -------------------------------------------- /* * AVRGCC1.c * * Created: 03.11.2011 11:29:58 * Author: eproo */ #include <avr/io.h> #define F_CPU 1000000 #include <util/delay.h> int main(void) { DDRB |= (1<<PB2)|(1<<PB3); while(1) { PORTB |=(1<<PB2)|(1<<PB3); _delay_ms(1000); PORTB &=~((1<<PB2)|(1<<PB3)); _delay_ms(1000); } } -------------------------------------------- und dann auf "Build and Run" klicke, möchte er, dass ich ein Device und eine debug-platform auswähle. Leider steht dort nicht der AVRISP mkII,sondern nur der JTAGICE mkII. Der wiederum hat aber keinen ATMEGA8,den ich auswählen kann. (der wurde mitgeliefiert) Habe ich irgendwas nicht beachtet?(Bin sozusagen ein blutiger Anfänger was µController betrifft) Betriebssystem ist Windows 7. Weil ich zwar Elektrotechnik studiere, von Microcontrollern aber noch nicht ganz so die Ahnung habe, hatte ich gehofft,dass man bei einem Starterkit mehr oder weniger Plug-and-Play für Anfänger geliefert bekommt. :( Wäre dankbar, wenn mir jemand helfen könnte. Mit freundlichen Grüßen Sascha
Hast du den USB-Treiber für den AVRISP installiert, oder braucht man dafür keinen mehr? Wird der Programmer denn von Windows erkannt wenn du ihn anschließt? Gruss Andreas
Also einen USB Treiber braucht man. Der nennt sich AVR Jungo USB Driver. Und von Windows wird er richtig erkannt, wenn ich das Netzteil vom Board habe, dann den USB Stecker in den PC stecke. Ist das Netzteil vorher dran, erkennt er es "nicht ordnungsgemäß"(laut Windows). Ich stecke das Netzteil dann immer danach an das Board.
Probier mal mit AVR simulator weiterzumachen. Ich habe gerade gesehen, dass der linke Teil des Fensters die "Debug-Platform" auswählt. Und das funktioniert mit dem einfachen Programmer gar nicht. Programmieren kannst du damit aber schon, nur wenn du auf Debug klickst startet die Simulation. Ich habe auch schon ewig nicht mehr mit dem AVR-Studio gearbeitet, aber ich glaube das funktioniert so.
Du darfst nicht Build and Run anklicken sondern daneben den Icon Build Activ Configuration. Damit kompilierst du dein Programm, in deinem Ordner wird der Ordner default angelegt, wenn nicht vorhanden, in diesem ist dann dein *.hex File. Dann wieder in das Programmierfenster (Connect to the Selected AVR-Programmer) 250kHz Programmierfrequenz ist hart an der Grenze, lieber etwas niedriger wählen. Im Reiter Program Fenster unter Flash das Verzeichnis und Filename des *.hex Files angeben und mit Program laden.
Habe jetzt den Simulator und den AtMega8 ausgewählt. Der Simuliert das jetzt auf dem PC glaube ich, aber blinken tut leider immer noch nichts. Wenn ich unter Connect gehe und AVRSP mkII erkannt wurde und ich auf den Button "Read Signatur" klicke erkennt er anscheinend alles. Das macht er aber auch nur wenn das Netzteil drin ist. Das müsste doch eigentlich heissen, dass er den ATmega8 erkennt oder? (So sieht das in Bild 2 aus. Wenn das Netzteil drin ist sagt er: Reading signatur from devide 0x 1 E 0x93 0x07. Wenn kein Netzteil drin ist sagt er: Entering programming mode.. FAILED! und er gibt 0x00 0x00 0x00) Leider kann ich mit diesen Zahlen nichts anfangen, weil ich gerade in das Thema einsteige.
Ok probiere gerade den Hinweis von Hubert G. aus. War ich ein bisschen zu schnell mit meinen erneuten Eintrag von oben
Hi >Leider kann ich mit diesen Zahlen nichts anfangen, weil ich gerade in >das Thema einsteige. Brauchst du auch nicht. Hauptsache der Satz darunter sieht so aus. Allerdings solltest du die ISP-Frequenz (250kHz) verringern. MfG Spess
Das passt schon (Letzter Screenshot) Von dort wechselt du auf den Reiter "Prog" und lädst dein zuvor kompiliertes hex-File; dann Button Program. Der Fortschrittsbalken zeigt das Programming und den Verify. Danach ISP abziehen und einen Reset (Power off/on) Gruß paramac
So, hab das jetzt so gemacht wie Hubert G. es beschrieben hat. Wenn ich auf Compile Active File klicke sagt er mir unten: Build succeeded with 0 Warnings. Soweit ja ganz gut. Er gibt mir aber leider keine *.hex Datei aus , die ich dann in den Controller laden könnte. Bekomme in dem Verzeichnis eine aps File, eine .c File. Im default-Ordner eine Makefile und eine O-Datei. Im dep-Ordner eine D-Datei. Die Frequenz hab ich halbiert auf 125kHz. Danke schonmal für die zahlreiche Hilfe!
Schau mal unter Project / Configuration Options ob in dem Fenster links unten bei Create Hex-File auch ein Haken ist.
Ok, die .hex File erzeugt er mir nun. Bei 125kHz meckert er immer noch rum. Hab nun auf 6.48 kHz gestellt, damit kommt er anscheinend klar. Klicke dann auf Program und Verify , der Balken lädt dann 5 Sekunden. Dann zieh ich USB raus und drück auf Reset (Knopf ist auf dem Board enthalten) und es passiert leider nichts.
Sascha_Do schrieb: > es passiert leider nichts LED (richtig) angeschlossen? Zur Sicherheit mal mit Messgerät direkt am Pin messen! Gruß Dietrich
Hoffe ja,dass das Starterkit vernünftig produziert wurde. Man musste ja lediglich da Verbindung des USBProg löten. Messgerät habe ich leider nicht. Ist halt echt immer doof, wenn man da als totaler Einsteiger dran geht, bzw. keine Geräte zu Hause hat. Aber vllt kauf ich mal eine neue LED und einen Widerstand bei Schraubenconrad und nehme einen anderen Pin, bzw. nehmen den Controller ab und stecke mir mal ne Testplatine mit ein paar LED's zusammen. Hat vllt jemand noch eine andere Idee? Und kann ich davon ausgehen, dass der µController jetzt vernünftig programmiert ist? Sonst würde er mir ja einen Fehler in AVR-Studio melden oder nicht?
Sascha_Do schrieb: > Klicke dann auf Program und Verify , der Balken lädt dann 5 Sekunden. > Dann zieh ich USB raus und drück auf Reset (Knopf ist auf dem Board > enthalten) und es passiert leider nichts. Wozu machst du das? Nimm mal all deine selbstrangesteckten LEDs und Widerstände raus, so dass du nur noch das Starterkit hast. Lade diese Datei herunter: http://embeddedprojects.googlecode.com/files/700098_AVRStarterkit.zip Entpacke das Beispielprogramm mit der Blinkenden LED. Versuch das zum Laufen zu bekommen und schau, ob die mitgelieferte LED auf deinem Board blinkt. So kannst du schon mal ausschließen, dass irgendwas mit den LEDs ist. Gruß
Hab da nichts selber drangesteckt. Benutze die LED, die schon vorgegeben ist. Die Datei hab ich auch schon ausprobiert. Geht leider immernoch nicht.
Sascha_Do schrieb: > Hab da nichts selber drangesteckt. > Benutze die LED, die schon vorgegeben ist. > Die Datei hab ich auch schon ausprobiert. > Geht leider immernoch nicht. Mach mal bitte, für mich, eine Stichpunktliste mit den Schritten in der Reihenfolge, wie du das alles machst. Gruß
1. AVR Studio 4 starten 2. AVR GCC Projekt anlegen 3. Mit den AVRISP mkII connecten 4. Dann unter Programm die HEX-File blink.hex laden und auf Program klicken 5. USB rausziehen und Reset-Button klicken Das wars.
Auf diesem Board ist laut meinem Plan aber nur eine Led, und die ist auf Port C5. Oder hast du selbst eine dazu gebaut?
Jupp stimmt auch. Bis jetzt hab ich noch nichts draufgelötet. Das Board ist noch Original so, wie es geliefert wurde. War nur ne Überlegung mir zum Testen eine drauf zu löten Nicht dass die LED vom Board kaputt ist. Kann ich denn davon ausgehen, dass der µController nun richtig programmiert ist, wenn kein Fehler gemeldet wurde?
Dein Programm ist definitiv falsch. Du sprichst das PortB2 und B3 an, die Led ist aber auf PortC5.
Du kannst ja auf dem Board mal nachsehen wohin die Led am Kontroller geht. Laut Schaltplan auf Port C5.
In dem Link den dir "Berufseinstieg" um 16:13 geschickt hat steht es aber richtig drinnen.
Jupp, warum in meinem Quelltext was anderes stand weiss ich auch nicht. Habe jetzt die blink.hex Datei in den Controller geladen und es geht immernoch nicht :/
Hubert G. schrieb: > Laut Schaltplan auf Port C5. Und der Jumper muss auch noch stecken (wenn ich den richtigen Schaltplan gesehen habe). Gruß Dietrich
Habe die drei Jumper nun reingesteckt und es passiert immernoch nichts :/ Auch eigenartig. Auf S.8 steht: "Die mitgelieferten Jumper werden für die folgenden Beispiele nicht benötigt und deshalb nicht gesteckt." Und auf S. 31 steht: "Die Boards sollten (sofern die Jumper stecken) blinken."
Sascha_Do schrieb: > Habe die drei Jumper nun reingesteckt und es passiert immernoch nichts > :/ Du solltest Dir abgewöhnen, Jumper einfach mal so zu stecken, wenn Du nicht weißt, was sie tun. Wenn Du Pech hast, geht was kaputt. Was die Formulierung auf Seite 8 und 31 genau bedeuten, weiß ich auch nicht. Das ist aber auch unwichtig, wenn Du die Funktion der Jumper kennst. Ich habe mal nachgelesen: - Jumper 3.3V schaltet um auf 3,3V Versorgung. Bei Dir ist 5V OK, der Jumper sollte also nicht stecken (es müsste aber auch mit gestecktem Jumper gehen). - Jumper J1 schaltet was an der seriellen Schnittstelle um; das hat mit Deiner Funktion nichts zu tun, ist in diesem Fall egal - Jumper LED_J: schaltet die LED ein: muss also gesteckt sein. Für weitere Fehlersuche brauchst Du unbedingt ein Messgerät, für den Anfang reicht auch ein ganz billiges, z.B. http://www.pollin.de/shop/dt/NTA4OTYxOTk-/Messtechnik_Uhren/Messtechnik/Multimeter/Digital_Multimeter_PM_110.html Gruß Dietrich
Hi Sascha, wann hast du das Starterkit gekauft? Kannst du ggf. vom Rückgaberecht Gebrauch machen? Ich kann mich daran erinnern, dass ich damals auch arge (andere) Probleme mit demselben Starterkit hatte. Ich empfehle deshalb, das Starterkit ggf. zurückzuschicken und mit Steckbrettern zu arbeiten. Persönlich Erfahrung. Was mir zu deinem Problem eingefallen ist: Als du denn Port auf PC5 geändert hast, hast du dann erneut kompiliert, um eine neue .hex Datei zu bekommen? Vielleicht bezieht sich die .hex Datei immer noch auf den alten Code. Mein Vorschlag: Lösche den Projektordner komplett. In der von mir verlinkten Datei findest du das blink LED Projekt mit der zum Starterkit mitgelieferten LED. Starte AVR Studio 4 und verwende den Wizard, um das blink LED Projekt zu öffnen. Kompiliere es zur Sicherheit mit F7. Der Quelltext müsste so aussehen:
1 | /*
|
2 | * AVRGCC1.c
|
3 | *
|
4 | * Created: 03.11.2011 11:29:58
|
5 | * Author: eproo
|
6 | */
|
7 | |
8 | #include <avr/io.h> |
9 | #define F_CPU 1000000
|
10 | #include <util/delay.h> |
11 | |
12 | int main(void) |
13 | {
|
14 | DDRC |= (1<<PC5); |
15 | |
16 | while(1) { |
17 | PORTC |=(1<<PC5); |
18 | _delay_ms(1000); |
19 | PORTC &=~(1<<PC5); |
20 | _delay_ms(1000); |
21 | }
|
22 | }
|
Klicke auf den "CON" Käfer und wähle den entsprechenden Programmer (AVRISP mkII). Klicke dann auf den "AVR" Käfer und lade die .hex Datei. Klicke dann einfach auf "Program" Hat alles geklappt, sollte es so aussehen wie bei mir im Anhang. Sonst nimm das Starterkit doch mal zu dir an die Uni und miss in der Pause mal die Pins im Labor durch. Da habt ihr ja sicherlich genug Messgeräte ;) Gruß
Ach ja, und lass alles angesteckt und drücke keinen Button oder sonst irgendwas, nachdem du auf "Program" geklickt hast. Das ist bei dem Starterkit nicht nötig (ist es überhaupt generell nötig?!?)
Ich sehe gerade, dass du ein neues Projekt anlegst. Für den ersten Gehversuch mit der blink LED würde ich empfehlen, das Projekt schlichtweg nur zu öffnen.
Ok, bin gerade nicht zu Hause Werde das nachher mal testen. Das mit dem Rückgaberecht ist ja schwierig. Ist zwar noch im Zeitrahmen( 2 Wochen oder?), aber das Problem ist, dass ich ja schon alles gelötet habe. Habe gestern Abend sogar nochmal drübergelötet und es sieht jetzt nicht gerade mehr vernünftig aus... Das durchmessen könnte ich aber wirklich mal ausprobieren!
JAAAAAAAAAAAAAA (sorry ;) ) Hab gemacht wie du es gesagt hast @Berufseinstieg Habe das vorher aber doch genau so gemacht wie du beschrieben hast. Kommt mir vor wie bei meinen Amateurversuchen mit 12 Jahren den PC zu formatieren und mehrere Betriebssysteme zu installieren. Am ersten Tag ging der PC garnicht mehr, dann ne Nacht geschlafen und auf einmal klappte dann doch alles. Vllt fehlt mir da auch manchmal die nötige Ruhe ;) Danke dir und allen anderen echt vielmals! Hätte das wahrscheinlich sonst nie hinbekommen. Hoffe, dass die nächsten Versuche reibungsloser ablaufen. Muss nämlich im Studium einen Regler damit entwerfen. Die C-Quelle steht, aber das auf einen µController zu laden ist ja nochmal ne andere Herausforderung ;)
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.