- Labornetzteil AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 29

Thema: Kennt sich einer mit dem C-Compiler avr-gcc aus?

  1. #11
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Anzeige

    Praxistest und DIY Projekte
    Ja hab ich auch schon gesehen, nur so recht find ich noch nicht den Einstieg, was man wie machen muß (siehe Beitrag oben)!

  2. #12
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Ich hab noch eine gute Seite für AVRGCC-Einsteiger gefunden. STammt von Dirk Baumann. Schaut mal unter guter AVR-Seiten hier
    Da findet ihr eine gute Beschreibung wie ihr das oben genannte WinAvr Paket nutzt um ein Programm zu installieren. Es sind auch zahlreiche Bilder vorhanden, so das ihr das Notpad2 schnell entsprechend konfigurieren könnt. Im Grunde ist es dann fast so komfortabel wie in einer echten IDE.

    Das kurze Beispiel kann 1:1 auch auf einem Mega16 kompiliert werden. Ihr müsst nur statt dem dort angegebenen Controllertyp "atmega16" eingeben.

    Das Programm sah so aus:

    Code:
    #include <avr/io.h>
    //***********************************************************
    char i=0; //Globale 8-Bit Variable
    
    //***********************************************************void warten(int t) //ermöglicht Pausen 
    {
     int h;
     for (;t>0;t--)
     {
      for (h=1600;h>0;h--) {}
     }
     return;
    }
    
    //***********************************************************
    
    int main(void)
    {
     char i=0; //Lokale 8-Bit Variable
    
    
     //Setzen der Ein + Ausgänge
     outp(0xFF,DDRB); //PortB: alles als Ausgäng
     outp(0xFF,DDRD); //PortD: alles als Ausgang 
       
     //Ports digital ansteuern
     outp(0x0,PORTB); //Alle Ausgänge werden auf low gesetzt
     outp(0x0,PORTD); //Alle Ausgänge werden auf low gesetzt
     
     
    while (1)
     {
       i++;
       outp(i,PORTB);
       warten (200);
     }
      
    }
    Es ist ein 8-Bit Zähler. Dieser hat zur Folge das zum Beispiel eine LED an Port PB0 blinken würde. Ist also ein erstes gutes Testprogramm für absolute AVR-Laien.

    Gruß Frank

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Das Programm ist aber leider veraltet. Die neueren Version des Compilers erlauben auch direkte zuweisungen:
    PORTB = 0xff;
    bzw.
    i = PORTB;
    Man kann die Ports also wie Variablen benutzen und muss nicht den Umweg über outp() gehen. Deswegen wird diese Funktion auch irgendwann aus dem Compiler verschwinden...

    Außerdem kann man die integration in das Programmers Notepad noch einfacher machen wenn man ein makefile benutzt...

    Ich schreib gleich mal eine Anleitung dazu...

    MfG Kjion

  4. #14
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Aha, danke für Hinweis! Das klingt ja noch besser. Das mit der integration ins Notepad ist aber garnicht so schlecht, damit kommt man schon ganz gut klar.

    Gib mal Nachricht wenn Du ne Anleitung oder noch weitere Tips hast. Auch ein paar modernere Beispielprogramme wären in diesem Fall nicht schlecht. Ich finde der Lerneffekt ist da immer am größten.

    Gruß Frank

  5. #15
    Gast
    Hier noch ein interessanter Link für den Einstieg
    http://www.avrfreaks.com/Tools/ToolF...fig_WinAVR.pdf

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2003
    Beiträge
    26
    Ein paar Beispiele findet man auch hier: http://homepage.sunrise.ch/mysunrise...-software.html

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2003
    Beiträge
    26
    Schade das es aber immer noch kein gutes aktuelles Tutorial gibt.

    <kyion> Wolltest Du nicht was schreiben?

  8. #18
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Kommt noch .... hab leider im Moment wenig Zeit dafür, ist aber schon in Arbeit ...

  9. #19
    Phunky
    Gast

    Ich checks immer noch nicht


    Hallo AVR Coder!

    Also ich hab mir mal das WinAVR Packet runtergeladen, und im "Programmers Notepad" die Tools (make) eingetragen, wenn ich nun bei dem Makefile den Make aufrufe kommt im Ausgabefenster:

    makefile:1: /include/make1: No such file or directory

    Das hier ist das Makefile von dem gcctest1:

    include $(AVR)/include/make1
    MCU = at90s8515
    TRG = gcctest1
    SRC = $(TRG).c
    ASRC =
    LIB =
    INC =
    CPFLAGS = -g -O3 -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)
    LDFLAGS = -Wl,-Map=$(TRG).map,--cref
    include $(AVR)/include/make2
    $(TRG).o : $(TRG).c

    Dann hab ich mal die include Zeilen raus (/make1 gibts ja auch überhaupt nicht!) und dann kommt folgende Ausgabe:

    cc -c -o gcctest1.o gcctest1.c
    process_begin: CreateProcess((null), cc -c -o gcctest1.o gcctest1.c, ...) failed.
    make (e=2): Das System kann die angegebene Datei nicht finden.

    woher stammt die erste Zeile ?!?! (cc.....)

    Wäre Nett wenn mir da einer helfen könnte, hab jetzt den halben Nachmittag mit dem Zeugs verbracht und im Netz rumgegoogelt, zum eigentlichen programmieren bin ich aber immer noch nicht gekommen

    MfG
    Stefan

  10. #20
    Gast

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad