hello world funktioniert nicht einmal

OP #5516665
Hallo

habe ein atmega328p angeschlossen und folgendes Programm geschrieben.
1
#include <util/delay.h>
2
#include <avr/io.h>
3

4
int main (void) {
5

6
    DDRC  = 0xff;
7

8
  while(1) {
9
      PORTC |= (1<<PC1);    
10
      delay_ms(500);       
11
      PORTC &= ~(1<<PC1);  
12
      delay_ms(500);       
13
  }
14
    return 0;
15
}

versuche es auf meinen µc zu flashen funktioniert aber nicht. avrdude 
erkennt den Kontroller und atmel flashed ihn auch, allerdings blinkt in 
meiner schlatung keine LED. Die LED funktioniert an sich auch.

Erkennt jemand meinen Fehler?

Meik
Moderator Persönliche Seite
Meik S. schrieb:
> Wie stelle ich denn den Takt von 1MHz ein?

Den Takt stellst du im Controller ein, aber der steht halt initial
auf 1 MHz.

Der wird den Delay-Funktionen über den Makro F_CPU kund getan.  Da
du diesen Makro nicht in deinem Quelltext stehen hast, musst du ihn
dem Programm auf andere Weise mitgegeben haben – wie genau, das können
wir nicht wissen, denn wir haben die Umgebung nicht, mit der du das
alles gemacht hast.

> und generell kann mir jemand sagen wo ich alle Befehle und Funktionen
> für C finde, die ich in Atmel nutzen kann, wo man sowas mach nachschauen
> könnte?

Das avr-libc-Manual wäre die erste Anlaufstelle.

C sollte man aber natürlich erst einmal grundlegend können, dort sind
nur die AVR-Besonderheiten dann dokumentiert.

Ähem, du schreibst "delay_ms".  Dann musst du noch etwas als Umgebung
haben, was du uns nicht genannt hast.  Die entsprechende Funktion der
avr-libc heißt _delay_ms.
OP
danke schon mal für die Infos,

ich habe jetzt noch vorab
1
#define F_CPU 1000000
gesetzt und das delay_ms mit _delay_ms ausgetauscht.

leider funktioniert es immer noch nicht.

die LED leuchtet einfach nur, blinken tut da gar nichts.
Moderator Persönliche Seite
… und schreibe endlich mal paar Worte zu der Umgebung, mit der du
arbeitest.  Ich vermute ja mal, dass es nicht "vi", "make" und die
Kommandozeile sind, sondern irgendwas vorgefertigtes.

Außerdem wurdest du schon mehrmals aufgefordert, alle Meldungen der
beteiligten Programme (Compiler, AVRDUDE) zu zeigen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.