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.
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!
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.
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ß
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.
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?
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 :/
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
intmain(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 ;)