-         

Ergebnis 1 bis 10 von 10

Thema: Einstieg Programmierung/ Libs

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    12.12.2006
    Beiträge
    37

    Einstieg Programmierung/ Libs

    Anzeige

    Hi,
    Ich möchte jetzt anfangen mein Experimentierboard mit einem AVR-Controller
    in C zu programmieren. Register/Adressen usw. ist mir relativ klar, aber ich frag mich jetzt, wie ich im Code diese Register anspreche.

    Es ist ja bestimmt nicht so, das ich die einzelnen Adresse der Register
    selbst wissen und in den Code schreiben muss. Man nimmt da ja irgendwelche Definitionsdateien her in der dann steht, das das DDRA die Adresse xyz hat. usw.

    Und genau hier ist mir nicht klar, woher diese Include-Dateien kommen?
    Sind die beim GCC dabei? Werden die von Atmel geliefert? Woher besorgt man sich da ein gutes Framework um vieleicht nicht das Rad nochmal neu erfinden zu müssen. Beim Bascom gibt man ja am Codeanfang ein definitions-file an.

    In C-Code hab ich auch schon mal sowas wie :
    <io.h> gesehen. Wo findet man dieses File? Gibts da ne Docu über die Funktionen?
    hab ich mein problem verständlich ausgedrückt?

    gruss steffen

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    05.03.2005
    Beiträge
    36

    WinAVR Lösung

    Hi StoredProc( int answer ),

    wenn du WinAVR ( http://www.mikrocontroller.net/articles/WinAVR, http://winavr.sourceforge.net/ ) installierst, sind diese Include-Dateien (und noch einiges mehr) zu finden.

    Hoffe damit geholfen zu haben

    Untertänigst


    Banzai

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Im WinAVR ist auch ein Dokumentation für die Lib-c dabei.
    Leider nur auf Englisch...
    Die io.h ist übrigens die wichtigste include-Datei. Sie verweist alledings nur auf die passende io-Datei des benutzten Prozessors. Wenn Du z.B. mit dem Mega128 arbeitest, wird über die io.h die Datei iom128.h eingebunden. Darin stehen alle wichtigen Registerdefinitionen für den Prozessor.

    Danach kannst Du in Deinem Programm die Register einfach mit Namen ansprechen, z.B.
    DDRA = 0x0F; oder
    $result = PINA;

    Gruß,
    askazo

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    12.12.2006
    Beiträge
    37
    Und woher weis die io.h, welchen prozessor ich ansprechen will?

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2006
    Alter
    26
    Beiträge
    113
    Durch deinen Compiler aufruf soviel ich weiss. Du gibst ja in deiner avr-gcc zeile den Chip an, und daran erkennt die io.h deinen Controller.

    (nich haun wenn falsch ist ^^)
    Stell dir vor es ist krieg - und keiner geht hin.
    Gewinner des Roboterwettbewerbs "Zukunft durch Innovation" des Bundeslandes NRW in Aachen.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    12.12.2006
    Beiträge
    37
    Ah, jetzt jetzt errinnere ich mich etwas. ich glaub, im make-file musste man das eintragen.
    hab bis jetzt immer nur das file kopiert und nur für den asuro etwas programmiert. da sieht man solche feinheiten nicht

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Wenn Du WinAVR zusammen mit AVRStudio 4.13 nutzt, kannst Du die Makefile-Optionen per grafischer Oberfläche erstellen.
    Das ist, wie ich finde, der komfortabelste Weg.

    askazo

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    12.12.2006
    Beiträge
    37
    Wie funktioniert das zusammen?
    Muss man da irgendwas konfigurieren oder einfach beide installieren und getrennt starten?

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    Du installierst zuerst WinAVR, danach das AVRStudio. Konfigurieren musst du nichts, damit die zusammenarbeiten. Du musst dann nur noch AVRStudio starten, WinAVR nicht.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    12.12.2006
    Beiträge
    37
    danke, probier ich mal aus

Berechtigungen

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