#define F_CPU 20000000 // AVR clock frequency in Hz, used by util/delay.h
2
#include<avr/io.h>
3
#include<util/delay.h>
4
5
intmain(){
6
DDRD|=(1<<DDD1);// set LED pin PD1 to output
7
while(1){
8
PORTD|=(1<<PORTD1);// drive PD1 high
9
_delay_ms(100);// delay 100 ms
10
PORTD&=~(1<<PORTD1);// drive PD1 low
11
_delay_ms(900);// delay 900 ms
12
}
13
}
'DDD1' undeclared (first use in this function)
gegoogled und nichts gefunden.
Okay, dann hab ich den Code geändert, dass er kompilierbar wurde. (nicht
zum benutzen, sondern nur zum versuchen, ob der ISP geht)
Also "Extras" -> "Add STK500" -> "Port COM11" -> Apply
das ging schonmal.
danach "Extras" -> "Device Programming" -> "STK500", "ATmega8A" und
"ISP" ausgewählt.
"Apply" geklickt -> Fehler: "Unable to connect to tool STK500 (COM11)"
"Failed to open COM11. Error 0x2."
Könnt ihr mir helfen? :(
PS: Im Anhang ist die verkabelung auf dem Breadboard.
Grüße und schonmal Danke,
Tom
>'DDD1' undeclared (first use in this function)
Die Fehlermeldung ist auch falsch...
Guck dir mal das Datenblatt zu deinem Controller an. Dann suchst bitte
den PortD!
Erstmal danke für die antworten!
Ich kann nur ATmega8 oder ATmega8A auswählen. Was mach ich dann?
Dieser ist der ISP:
http://www.ebay.de/itm/150786990315
@Post 1: wie gesagt, das ist mein erstes mal direkt mit AVR, ich hab
keine Ahnung was du mir sagen willst Oo
Im Anhang nochmal die (falsche? oO) Fehlermeldung im VS.
Tom schrieb:> @Post 1: wie gesagt, das ist mein erstes mal direkt mit AVR, ich hab> keine Ahnung was du mir sagen willst Oo
Hast du mal im Quellcode nach "DDD1" gesucht?
Tom schrieb:> danach "Extras" -> "Device Programming" -> "STK500", "ATmega8A" und> "ISP" ausgewählt.> "Apply" geklickt -> Fehler: "Unable to connect to tool STK500 (COM11)"> "Failed to open COM11. Error 0x2."
Früher, also damals, als man noch so richtig schön mit echtem C++
PC-Programme geschrieben hat, konnte man die Schnittstellennamen als
Alias nur von COM1 bis COM9 eingeben sonst musste man den Devicenamen
nehmen: "\\\\.\\COM127".
Das ist heute auch noch so. Nur daß .Net einem die Arbeit und das
Nachdenken dafür abnimmt.
Wenn der Programmierer des Treibers für deinen Programmer, der sicher in
richtigem C++ geschrieben wurde, allerdings nur die Aliase für die COM
verwendet hat, kannst du nur die COMs von 1 bis 9 verwenden.
In der Beschreibung auf der e-bay-Seite steht auch "COM1..COM9"
Muss nicht unbedingt so sein. Aber schliesse das mal aus, indem du den
Comport umbenennst.
Ausserdem fehlen auf deinem Breadboard die Stützkondensatoren.
mfg.
Danke für die Info mit dem COM Port!
ich habe den Port auf COM2 geändert. Nun kommt ein anderer Fehler:
"The signature of the attached tool is AVRISP_2, which is unexpected."
In welchem Quellcode soll ich nach "DDD1" suchen? Was ist das überhaupt?
Danke!
Tom schrieb:> Also in ebay einen STK500> "The signature of the attached tool is AVRISP_2, which is unexpected."
Die Verbindung klappt dann ja zumindest.
Das, was du gekauft hast, ist aber auch kein STK500 sondern ein
AVRISPMKII-Klon.
Du kannst natürlich Pech haben, daß das Studio 6 sich weigert mit
irgendwelchen Nicht-Original-Atmel-Tools zusammen zu arbeiten. Studio 4
ist da wesentlich toleranter.
mfg.
Tom schrieb:> In welchem Quellcode soll ich nach "DDD1" suchen? Was ist das überhaupt?
Das ist die Nummer von Bit 1 im DDRD-Register.
Also "#define DDD1 1".
> DDRD |= (1<<DDD1); // set LED pin PD1 to output
Gib einfach "DDRD |= (1 << 1);" ein und gut.
mfg.
>In welchem Quellcode soll ich nach "DDD1" suchen? Was ist das überhaupt?
Genau, was ist DDD1 eigentlich? Wenn du nicht weisst was
das ist dann schreib es nicht hin. Schreib das hin was
da hingehört.
Okay, danke. Habe den ATmega8, nicht ATmega8A ausgewählt und es ging.
hab jetzt mal zum testen avr studio 4 istalliert und scheitere bereits
beim erstellen eines Projektes. Was ist davon das richtige für meinen
ISP?
Grüße
Tom
>hab jetzt mal zum testen avr studio 4 istalliert und scheitere bereits>beim erstellen eines Projektes. Was ist davon das richtige für meinen>ISP?>Das, was du gekauft hast, ist aber auch kein STK500 sondern ein>AVRISPMKII-Klon.
Der kann nicht debuggen. Falsches Fenster ausgewählt.
Tom schrieb:> Was ist davon das richtige für meinen ISP?
Das hat mit dem ISP nichts zu tun, sondern ist die Auswahl des
Debuggers.
Da du keinen Hardware-Debugger hast und man den Atmega8 sowieso nicht
debuggen kann, wählst du einen der Simulatoren aus.
Welchen kann ich dir nicht sagen, hab' die noch nie benutzt. Ist aber
erstmal auch egal.
mfg.
gcc plug-in: No AVR Toolchain installation found. The AVR GCC plug-in can still be used if you set up your own build tools.
6
gcc plug-in: Output directory C:\Users\Lyra\Documents\AVR4\testLED\default\ does not exist
7
gcc plug-in: Created directory C:\Users\Lyra\Documents\AVR4\testLED\default\
8
gcc plug-in: No AVR Toolchain installation found. The AVR GCC plug-in can still be used if you set up your own build tools.
9
gcc plug-in: No AVR Toolchain installation found. The AVR GCC plug-in can still be used if you set up your own build tools.
hm...
Was würdet ihr mir für einen (halbwegs günstigen) ISP vorschlagen (am
besten mit ebay link :P) der mit dem AVR Studio 6 einfach, ohne hacks,
funktioniert?
Grüße Tom
Okay, ich hab ein wenig gegoogled und das avr toolchain installiert ->
fehler war weg. Ich dachte, das output cleart sich bei jedem build neu
(wie in vs ;) und hab mich die ganze zeit gewundert, warum er kein
verzeichnis anlegen kann (obwohl er es ja konnte) naja. Gut.
Ich konnte jetzt builden und das hex file flashen.
Geht das komfortabler? Also Quasi einen "Starten" Knopf, bei dem das
program direkt gebuildet und geflashed wird?
Grüße und herzlichsten Dank
Tom
Tom schrieb:> gcc plug-in: No AVR Toolchain installation found.
Du musst die Fehlermeldung auch lesen: AVR Studio finden den Compiler
nicht.
Hattest du Atmel Studio 6 wieder deinstalliert?
Dann musst du die AVR Toolchain (gcc, Assembler, Linker...) separat
nachinstallieren.
Grüße
Stefan
Edit: Du warst schneller...
Tom schrieb:> Also Quasi einen "Starten" Knopf, bei dem das> program direkt gebuildet und geflashed wird?
Binnen kurzer Zeit wirst du merken, dass du das doch getrennt haben
willst.
Denn du wirst wesentlich öfter einen Build starten, als flashen und
testen.
Grüße
Stefan
Bei AVRStudio muß man dafür AVRISP2 unter Properties -> Tool -> Selected
debugger/programmer im pull-down Menü anwählen. Man hat dann die
Möglichkeit den Code nur zu compilieren oder per Mausklick in einem
Rutsch zu compilieren und einzuspielen. Bei AVRStudio4 geht das
sicherlich ähnlich.
Daß der Clon mit AVRStudio6 nicht funktioniert kann ich mir nicht
vorstellen; eigentlich hat die Toolchain ja auch mit AVRStudio gar
nichts zu tun, dein Chinese wird von Avrdude gesteuert. AVRStudio ist so
gesehen nur ein mächtiger Editor mit allgemeiner Verwaltungsfunktion
(der Code wird von gcc und nicht von AVRStudio erzeugt).
Ich möchte die Komfortabilität der Intellisense- und
Wortvervollständigungsfunktion nicht mehr missen, dewegen bin ich auch
von Microchip etwas abgekommen. Wie ist das mit anderen Umgebungen wie
zB. Eclipse und Netbeans... können die so was auch?
Okay, aber um auf meine vorherige Frage zurückzukommen:
Was würdet ihr mir für einen (halbwegs günstigen) ISP vorschlagen (am
besten mit ebay link :P) der mit dem AVR Studio 6 einfach, ohne hacks,
funktioniert?
Gibt es anständiges Debugging im AVR Bereich?
Könnt ihr mir Tutorials / Bücher vorschlagen um einen guten Einstieg zu
erhalten?
Grüße,
Tom
Ja, das ist der ISP von Atmel. Allerdings würde ich dir empfehlen, den
lieber hier zu bestellen. Mit Versand, EUSt und Zoll bleibt es nicht bei
diesem Preis. Für ca. 40 EUR inkl. Versand kannst Du ihn z.B. bei
Watterott erstehen. Oder eben noch günstiger als Student unter o.g.
Link.
Achja, hatte ich vergessen:
Der Dragon als Debugger wäre natürlich auch noch eine Option.
http://www.atmel.com/tools/AVRDRAGON.aspx
Der kommt jedoch ohne Gehäuse daher und reagiert empfindlicher als das
JTAGICE3 falls Du ihn mal falsch anstöpselst.