www.mikrocontroller.net

Forum: Compiler & IDEs hello world in C fuer ATmega163 ?


Autor: Szabo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hello forum,

ich suche schon seit langem ein simples testprogramm fuer meinen 
ATmega163 chip, der sich auf einer platine befindet die 8 leds zur 
datenausgabe auf sich drauf hat. die buchstaben des "hello world" 
sollten nacheinander byte fuer byte an die leds kopiert werden und das 
programm muss in C sein. ich hatte bisher immer probleme mit den 
includes, daher sollte das programm nur mit den garantiert vorhandenen 
includes auskommen. den pfad muss man mir aber evtl noch sagen, dann 
trage ich ihn ein.

danke,
gruesse
Andreas Szabo

Autor: Szabo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bevor ich es vergesse, als entwicklungsumgebugn benutze ich AVR Studio 4 
und als Compiler WinAVR (glaub ich :-).

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fertig wird es so etwas nicht geben. Ein einfaches "hello world", 
welches nur eine LED zum blinken bringt, findet sich hier:

http://www.roboternetz.de/wissen/index.php/Hallo_W...

Wenn das läuft, kannst du auf der Basis selber weiter programmieren.

Oliver

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau' Dir mal folgendes "Programm" an:
#include <avr/io.h>

int main(void) {
  uint8_t array[] = "hello world";
  uint8_t i;

  DDRC = 0xff;

  while (1) {
    for (i = 0; i < 11; i++) {
      PORTC = array[i];
    }
  }
}

Ob es das tut, was Du möchtest, glaub' ich kaum, zumindest compiliert 
es. (Falls die LEDs nicht an PORT C hängen, Code entsprechend ändern.)

Viel Erfolg!

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..und bau noch ein delay ein, sonst siehst du "alle LEDs leuchten".. ;)

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver wrote:
> Fertig wird es so etwas nicht geben. Ein einfaches "hello world",
> welches nur eine LED zum blinken bringt, findet sich hier:
>
> 
http://www.roboternetz.de/wissen/index.php/Hallo_W...
>
> Wenn das läuft, kannst du auf der Basis selber weiter programmieren.
>
> Oliver

Sorry, aber: LOL

Das soll ein "Hallo-Welt" Programm sein?
Natürlich. Fangen wir direkt mit dem ganzen Makrogetue, Interrupts, 
wilden Formeln, die für die Timer benötigt werden und so sachen wie 
static/volatile an.

Versteht doch jeder Anfänger! Klar...

Sorry, aber das hat schon etwas ironisches.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich ist das ein fieses Beispiel.

Aber:
Entweder ist Szabos Problem eigentlich eine Hausaufgabe für irgendwas 
(denn ich glaube einfach nicht, daß jemand, der noch nie was mit 
irgendeinem Compiler zu tun hatte, alleine auf solch eine 
Aufgabestellung kommt), und Szabo will es auf die bequeme Tour lösen, 
oder er möchte zwar jetzt nur ein einfaches Programm haben, aber danach 
was richtiges mit dem Mikrocontroller anfangen.

Für beide Fälle finde ich das Beispiel ganz passend :-)

Oliver

Autor: Szabo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Szabo macht gerade ein Praktikum in einer Computerfirma und hat vom 
Chef die Aufgabe bekommen etwas in c auf dem chip und änlichen chips zum 
laufen zu bringen. Szabo bedankt sich fuer alle einsendungen. Ich habe 
bisher so gut wie nie C programmiert und bei den mitgelieferten sourcen 
hat immer etwas nicht gepasst. Ich schreibe spaeter ob der thread jetzt 
was genuetzt hat. danke nochmal, gruesse, Andreas

Autor: Szabo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lieber christian,

ich habe dein prog ausprobiert. es compiliert! ich habe noch eine 
200-fache warteschleife eingebaut und sehe aber an den leds garnix. muss 
ich mehr warten oder stimmt was anders nicht? ich habe natuerlich 
geprueft ob alles am richtigen port haengt...

Autor: Szabo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, ich habe es geschafft es zum flimmern zu bringen. DDRC musste DDRB 
werden. keine weiteren fragen mehr.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.