-         
Ergebnis 1 bis 6 von 6

Thema: Bitte um Starthilfe zum Thema PWM und ATMega64

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    18.08.2005
    Beiträge
    86

    Bitte um Starthilfe zum Thema PWM und ATMega64

    Anzeige

    Hallo zusammen,

    ich habe mal eine Anfängerbitte:

    Wenn ich AVR-Studio öffne, dann kann ich zwischen C-Programmierung und Assembler wählen.

    Nun möchte ich über einen Pin des mega64 ein PWM-Signal ausgeben.

    Wer ist bereit, mir bitte mal so ein Script zu erstellen, damit ich daraus ein Programm schreiben kann.

    Mein Problem besteht darin, das ich kein Ahnung habe, wie man überhaupt anfängt.
    Man muss doch sowas wie eine Initialisierung am Anfang machen, oder ?
    Muss das Programm in einem bestimmten Abschnitt stehen ?

    Schreibe ich es in C oder Assembler ???

    Wie schaltet man so ein PWM-Modul ein ???
    Steht zwar im Datenblatt, das man bestimmte Register setzen kann, aber wie fängt so ein Programm überhaupt an ???

    Würde mich freuen, wenn ich mir sozusagen über den ersten Berg helft.

    Quasi eine leere Vorlage für C und Assembler ?!

    Danke und Grüße

    popi

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Mein Problem besteht darin, das ich kein Ahnung habe, wie man überhaupt anfängt.
    Man muss doch sowas wie eine Initialisierung am Anfang machen, oder ?
    Muss das Programm in einem bestimmten Abschnitt stehen ?
    Muss es dann denn unbedingt gleich Assembler oder C sein?

    Mit Bascom Basic gehts auch, da brauchst du nur ein paar Zeilen Code aus der Online-Hilfe zu kopieren.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    18.08.2005
    Beiträge
    86
    Muss es dann denn unbedingt gleich Assembler oder C sein?

    Mit Bascom Basic gehts auch, da brauchst du nur ein paar Zeilen Code aus der Online-Hilfe zu kopieren.
    C oder Assembler wäre da schon besser.

    Es soll ein größeres Projekt werden.
    Mit Bascom habe ich schon tatsächlich schnelle Programme hinbekommen, aber es wird auf Dauer nicht meine Wünsche erfüllen.

    Ich muss mich schon gleich richtig einarbeiten, benötige allerdings die erwähnte Starthilfe.

    Also ein HEADER sozusagen!

    Wenn es geht, bitte für beide Varianten, bevorzugt jedoch C.

    Danke und liebe Grüße

    popi

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Zitat Zitat von popi
    Wenn ich AVR-Studio öffne, dann kann ich zwischen C-Programmierung und Assembler wählen.
    AVR-Studio hat nen C-Compiler dabei???

    *zur-atmel-hp-sprint*

    ...tatsächlich da ist seit neuestem ein avr-gcc integriert *hechel* werd mir das bei Gelegenheit mal runterziehen

    Da sind doch wohl Beispiele dabei...?

    Die Hauptroutine in C-Programmen ist immer eine
    int main (int argn, char *argv[]);

    wobei es auf einem µC *etwas*schwer ist, Parameter aus der Kommandozeile zu übergeben. Für deinen Fall ist es daher ein

    int main()
    {
    // Code
    }

    oder, da wir auch schwerlich Werte an eine shell zurückliefern können, ein

    // compile with -ffreestanding
    void main()
    {
    // Code
    }

    Die Register-Definitionen bekommst du mit
    #include <avr/io.h>

    und das Zauberwort, um avr-gcc zu sagen, welchen Controller du verwendest, ist -mmcu=XXXXX. Aber das erledigt bestimmt Studio für einen...
    Disclaimer: none. Sue me.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.145
    Ah, das Studio 4.12 ist draußen... fein, direkt mal runterladen.

    Um mit dem Compiler arbeiten zu können, brauchst Du noch ein sogenanntes 'makefile'. Dort stehen verschiedene Definitionen für den Compiler, wie z.B. Prozessortyp, Projekt-Pfad und Optimierungs-Level.

    Register kannst Du einfach mit ihrem Namen ansprechen, z.B.
    TCCR1A = 0x01;
    TCCR1B = 0x0C;

    In der main-Funktion solltest Du übrigens nach der Initialisierung eine Endlos-Schleife einbauen, damit der Prozessor nicht einfach aufhört zu laufen.

    Gruß,
    askazo

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    18.08.2005
    Beiträge
    86
    Vielen Dank für die Tips!

    Werde mich die Tage an die erste Programmierung wagen und es versuchen!

    Wie würdet Ihr eine PWM zur Ansteuerung einer LED verwirklichen... in C oder in Assembler ???

    Danke und liebe Grüße

    popi

Berechtigungen

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