- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Anfänger mit STK 500

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2007
    Beiträge
    7

    Anfänger mit STK 500

    Anzeige

    Praxistest und DIY Projekte
    Hallo, ich bin Neu auf dem Microcontrollergebiet, bringe nur ein bischen Erfahrung von früher mit kleinen Visual Basic-Spielereien mit. An Entwicklungssachen habe ich das STK500, das STK501 ein ATMEGA und noch ein paar andere Chips aber mir geht es jetz erst einmal darum reinzukommen, weil noch nicht alles läuft. Ich benutze das AVR-Studio 4, habe den STk auch erfolgreich angeschlossen und verstehe das mit den Überbrückungskabeln so lala.. Ich will jetzt erst mal einen ganz einfachen Beispielcode, egal welchen auf meinen Chip bekommen, so dass dieser läuft und ich ans Programmieren eigenes Sachen gehen kann. Wenn ich jetz einen C-Programmcode ins Studio lade, wie kann ich den dann compilieren und auf den Chip laden? Bei der Datenübertragung über dieses "STK500"-Menü und dann auf "Auto" und ein Häkchen bei "Programm FLASH" muss man ja einen hex-Datei erstellen, aber wie? Ich habs mit diesem WinAVR versucht, kein Erfolg. Was ist dieses makefile? Ich werde aus dem ganzen leider noch nicht so ganz schlau..

    Bitte helft mir!! Das AVR-GCC-Tutorial kenne ich, verstehe es aber auch nur so lala...

    [edit] ich bin jetz glaub ich einen schritt weiter. habe gelesen dass man zuerst das WinAVR und danach das Studio installieren muss, also habe ich das Studio deinstalliert und nochmal neu draufgeladen und siehe da auf den ersten Blick sind 5 Buttons dazugekommen:
    - built active configuration
    - built and run
    - compile active file
    - clean current configuration und
    - edit current configuration options

    funktionieren tuts leider immernoch nicht..

    noch ne anmerkung, wenn ich auf built and run drücke dann spuckt der in seinem mitschnitt folgendes aus:

    Loaded plugin STK500
    Loaded plugin AVR GCC
    Loaded partfile: C:\Programme\Atmel\AVR Tools\PartDescriptionFiles\ATmega16.xml
    GCC plug-in: Output directory C:\Dokumente und Einstellungen\Johannes\Eigene Dateien\testing\default\ does not exist
    GCC plug-in: Created directory C:\Dokumente und Einstellungen\Johannes\Eigene Dateien\testing\default\
    Object file does not exist:
    STK500: : Failed
    GCC plug-in: Making arbitrary targets when using external makefile may fail
    GCC plug-in: Error: Object file not found on expected location C:\Dokumente und Einstellungen\Johannes\Eigene Dateien\testing\default\testing.elf
    GCC plug-in: Error: Object file not found on expected location C:\Dokumente und Einstellungen\Johannes\Eigene Dateien\testing\default\testing.elf



    karline

  2. #2
    Glacier
    Gast
    mit dem avrstudio kenne ich mich nicht aus.
    ich bin auch neu in den Thema habe mir aber eine Controllerboard
    (RN-MEGA128 Funk) gekauft.
    Ich benutze WInAVR um zu Programieren und Compilieren..
    Und PonyProg um das Hex-File zu übertragen.

    Mit AvrStudio hat es bei mir nie geklappt.
    Das AvrStudio nehme ich nur um mein Hex-File zu debuggen.

    Hoffe das hilft dir ein wenig weiter...
    /Glacier

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    mir ist so schemenhaft in erinnerung, dass pfade mit leerzeichen probleme machen können. schaff mal den testing ordner ins wurzelverzeichnis einer festplatte, vielleicht hilft das.

    gruesse

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2007
    Beiträge
    7
    ok, schon mal danke das mit den leerzeichen hat ein bischen geholfen auch wenns immernoch nicht geht. also wenn ich den chip über Erase Devise lösche und dann direckt auf Build and run drücke (ist das richtig so?) dann spuckt er jetz andere sachen aus:

    Code:
    rm -rf voodoo.o  voodoo.elf dep/* voodoo.hex voodoo.eep
    Build succeeded with 0 Warnings...
    avr-gcc.exe  -mmcu=atmega16 -Wall -gdwarf-2 -O0 -MD -MP -MT voodoo.o -MF dep/voodoo.o.d  -c  ../voodoo.c
    ../voodoo.c: In function 'blink':
    ../voodoo.c:47: warning: implicit declaration of function 'cbi'
    ../voodoo.c:49: warning: implicit declaration of function 'sbi'
    ../voodoo.c: In function 'main':
    ../voodoo.c:55: warning: implicit declaration of function 'outp'
    avr-gcc.exe -mmcu=atmega16  voodoo.o     -o voodoo.elf
    voodoo.o: In function `blink':
    ../voodoo.c:47: undefined reference to `cbi'
    ../voodoo.c:49: undefined reference to `sbi'
    voodoo.o: In function `main':
    ../voodoo.c:55: undefined reference to `outp'
    ../voodoo.c:56: undefined reference to `outp'
    make: *** [voodoo.elf] Error 1
    Build failed with 4 errors and 3 warnings...
    karline

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.12.2004
    Alter
    39
    Beiträge
    165
    sbi, cbi und co sind schon seit mindestens 2 Jahren total veraltet.

    Im Moment wuerde es wahrscheinlich ein #include <compat/deprecated.h> tun

    In der Zukunft solltest du auf diese Krueppelfunktionen verzichten.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2007
    Beiträge
    7
    Zitat Zitat von fluchtpunkt
    Im Moment wuerde es wahrscheinlich ein #include <compat/deprecated.h> tun
    was kann ich dafür tun? ist dass ein programm oder eine anweisung im studio?

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.12.2004
    Alter
    39
    Beiträge
    165
    Zitat Zitat von karline
    was kann ich dafür tun?
    C lernen...
    kurzform:

    Die Include-Direktive kommt dahin wo in deiner C Datei schon die anderen includes sind.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2007
    Beiträge
    7
    achso das ist ein programmcode ja klar
    aber was bringt mir eine programmzeile wenn ich den code nicht mal compiliert, geschweigedenn auf den chip bekomme

    das mit dem C ist im moment das geringste problem, ich nehm jetz erst mal vorprogrammierte dinger, einfach nur zum testen.

    Grüße,
    karline

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.12.2004
    Alter
    39
    Beiträge
    165
    Zitat Zitat von karline
    aber was bringt mir eine programmzeile wenn ich den code nicht mal compiliert, geschweigedenn auf den chip bekomme
    Wenn C dein geringstes Problem waer dann wuestest du was diese Zeile tut und warum sie dir helfen wuerde dein Programm erfolgreich zu kompilieren.


    ich klink mich aus, sollen sich andere damit rumschlagen.

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    29.08.2007
    Beiträge
    5
    So ich lass dir mal ein kleines Programm da. Dieses kopierst du in das WinAVR Programmer´s Notepad und speicherst es unter einem Namen ( taster.c) oder so ab. Danach machst du das MFile von WinAVR auf. Jetzt gehst du auf Main file name und gibst dort auch den Namen taster ein. Danach stellst du unter MCU type deinen Controller ein. Dies waren schon mit die wichtigsten Einstellungen, den Rest kannst du so lassen. Nun gehst du auf File oben links und sagst speichen unter:, dort bitte den Ordner angeben wo du die C Datei auch schon drin hast. ACHTE bitte darauf dass das makefile klein geschrieben ist!!!!!

    Nun gehst du zurück in WinAVR und sagst [WinAVR]Make All. Eigentlich sollte dann keine Fehlermeldung kommen.

    Nun öffnest du AVR Studio und wählst keine Datei am Anfang aus, sondern du schließt das Auswahlfenster. Bei AVR Studio gibt es einen Button wo ein kleiner Controller mit der Bezeichnung AVR drauf ist. Den bitte öffnen. Dort musst du jetzt auch wieder deinen Controller aus der Liste auswählen. Nun suchst du unter FLASH deinen Ordner und deine Datei und übermittelst diese einfach in deinen Controller.

    Ach ja LED´s mit dem Kabel bitte mit PortD anschließen und Taster bitte mit Port B anschließen. Schwupss kannst du mal ein wenig auf den ersten drei Taster rumhämmern.

    Code:
    #include <avr/io.h>
    
    
    #define TAKT 2000000
    
    int main (void)
    
    {
    
          // init Ports...
    	int i,j;
    	
            DDRD = 0xff;		//alle 8 Portpins sind Input
    	PORTD = 0xff; 		//no pull-ups
    
            DDRB = 0x00; 		//alle 8 Portpins sind Output
    	PORTB = 0x00; 		// High-Pegel setzen => STK500 LEDs aus
    
          
    
          while (1)
    
    {
    
          //wichtig bei Atmel => du musst die PIN Register abfragen für einen Input
    
          if((PINB & ( 1<<PD1 )) ==0 ) PORTD = 0; //alle an
    
          else  // alle wieder aus
    	  
    	  else if((PINB & ( 1<<PD2 )) == 0 ) PORTD = 0xfb;
    	  
    	  else if((PINB & ( 1<<PD3 )) == 0 ) 
    			for(i=0; i<1000;i++)
    			{
    				for(j=0; j<10000;j++)
    				{
    					if(i%8)
    							PORTD=0xFF;
    					else
    							PORTD=0x00;                
    				};
    Ich hoffe ich konnte dir damit etwas behilflich sein.

    So long
    Tom

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests