-         

Ergebnis 1 bis 6 von 6

Thema: Programmieren mit AVR Studio

  1. #1

    Programmieren mit AVR Studio

    Anzeige

    Hey Leute,

    ich habe eine ganz elementare Frage. Wie programmiere ich das RN-Control 1.4 in C mit AVR Studio 6? Es gibt unzählige Links dazu, die decken aber
    ganz andere Probleme ab.
    Ich weiß, dass ich ein .hex file erzeugen muss (was auch klappt). Der Programmer(STK 500) wird ebenfalls erkannt, nur kriege ich das .hex File anscheinend nicht
    auf den Controller. Es gibt keine Kompilierfehler und unter "Tools" -> "Device Programming" -> "Memories" kann ich den Pfad des erzeugten .hex Files auch manuell eingeben, jedoch
    macht der Controller nachdem ich auf "programmieren" drücke (und er arbeitet) nichts.
    Was mache ich falsch?
    Danke.

    MfG
    Overholt

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Hey,

    poste doch mal dein Programm. Vielleicht steckt da ein Fehler drin.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Hallo Kampi,

    danke für deine Antwort. Im Folgenden ist der Programmcode. Atmel Studio sagt mir, dass er erfolgreich flashen konnte und die Hex Datei ist auch nicht leer. Wenn ich vom uC lese
    erhalte ich auch das korrekte .hex File. Nur macht er nichts, obwohl er was machen sollte. Defekt ist das Board mit ziemlicher Sicherheit nicht, weil bis vor kurzem das bei Auslieferung bespielte Testprog.
    noch einwandfrei geklappt hat.

    SourceCode:

    #include <util/delay.h>
    #include <avr/io.h>

    /*### Ports setzen ###*/

    //Ports auf HIGH setzen
    static inline void setportaon(const uint8_t n)
    {PORTA |= (1<<n);} //set PORTA.n high

    static inline void setportbon(const uint8_t n)
    {PORTB |= (1<<n);} //set PORTB.n high

    static inline void setportcon(const uint8_t n)
    {PORTC |= (1<<n);} //set PORTC.n high

    static inline void setportdon(const uint8_t n)
    {PORTD |= (1<<n);} //set PORTD.n high



    //Ports auf LOW setzen
    static inline void setportaoff(const uint8_t n)
    {PORTA &= ~(1<<n);} //set PORTA.n low

    static inline void setportboff(const uint8_t n)
    {PORTB &= ~(1<<n);} //set PORTB.n low

    static inline void setportcoff(const uint8_t n)
    {PORTC &= ~(1<<n);} //set PORTC.n low

    static inline void setportdoff(const uint8_t n)
    {PORTD &= ~(1<<n);} //set PORTD.n low

    int main(){
    int i=0;
    for(i=0;i<8;i++)
    setportaon(i);
    while(1);
    }
    Klicke auf die Grafik für eine größere Ansicht

Name:	Programmieren_AVR.jpg
Hits:	10
Größe:	39,5 KB
ID:	23762

    MfG
    Overholt

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    ICh weiss nicht was du genau machen willst, aber du musst die Ports auf Ausgang setzen, so schaltest du nur die internen PullUp ein und aus.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  5. #5
    Haha, da war doch was.. super dankeschön!

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Huch nicht gesehen das du den Code gepostet hast.....
    Aber schön wenn es jetzt funktioniert
    Setz Quellcode nächste mal aber bitte zwischen
    [&code] und [/&code] (ohne das "&").
    Dann sieht es so aus

    Code:
    #include <util/delay.h>
    #include <AVR/io.h>
    
    /*### Ports setzen ###*/
    
    //Ports auf HIGH setzen
    static inline void setportaon(const uint8_t n)
    {PORTA |= (1<<n);}	//set PORTA.n high
    
    static inline void setportbon(const uint8_t n)
    {PORTB |= (1<<n);}	//set PORTB.n high
    
    static inline void setportcon(const uint8_t n)
    {PORTC |= (1<<n);}	//set PORTC.n high
    
    static inline void setportdon(const uint8_t n)
    {PORTD |= (1<<n);}	//set PORTD.n high
    
    
    
    //Ports auf LOW setzen
    static inline void setportaoff(const uint8_t n)
    {PORTA &= ~(1<<n);}	//set PORTA.n low
    
    static inline void setportboff(const uint8_t n)
    {PORTB &= ~(1<<n);}	//set PORTB.n low
    
    static inline void setportcoff(const uint8_t n)
    {PORTC &= ~(1<<n);}	//set PORTC.n low
    
    static inline void setportdoff(const uint8_t n)
    {PORTD &= ~(1<<n);}	//set PORTD.n low
    
    int main(){
    int i=0;
    for(i=0;i<8;i++)
    setportaon(i);
    while(1);	
    }
    und ist ein bisschen Übersichtlicher.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

Ähnliche Themen

  1. ATmega32 mit AVR Studio programmieren
    Von leibiflo im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 14.09.2010, 14:11
  2. rn control mit avr studio programmieren
    Von tomy321 im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 3
    Letzter Beitrag: 21.08.2010, 14:00
  3. Programmieren über JTAG-Interface und AVR Studio?
    Von ich_nicht_du im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 26.02.2009, 17:36
  4. Kann man mit AVR Studio die Controller auch programmieren?
    Von Barthimaeus im Forum AVR Hardwarethemen
    Antworten: 14
    Letzter Beitrag: 30.10.2007, 13:03
  5. RN-Control mit AVR-Studio programmieren
    Von matzy im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 02.04.2007, 09:52

Stichworte

Berechtigungen

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