www.mikrocontroller.net

Forum: Compiler & IDEs funktioniert das auf diese weise?


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich beschäftige mich jetzt seit ein paar Wochen mit Elektronik und habe
mir einen AT90S4433 zugelegt und da der Programmer von/für SP12 am
einfachsten zu löten war, will ich jetzt damit ein kleines
Erfolgserlebnis erreichen. Vielleicht kann mir da jemand helfen.

Also die Verbindung zwischen SP12.exe und der Hardware steht, ich
bekomme eine positive

Rückmeldung und es wird angezeigt dass der 4433 erkannt wurde.
So sieht meine Hardware aus (das erste bild - ...ich weiss, sieht
primitiv aus):
http://www.xs4all.nl/~sbolt/e-spider_prog.html

So weit so gut, aber was nun?

Ich wollte erstmal mit einem Schalter eine LED mit dem µC ansteuern.
folgendes habe ich mir ausgedacht, wie mit kanonen auf spatzen
schiessen, aber egal:


#include <stdio.h>  /* welche bibliothek hab ich denn */
                    /* bzw.  brauch ich denn? */

main()
{
   PORTB1 = Eingang; /* wie muss ich da den Eingang deklarieren?*/
                     /* welcher Port als Eingang? Port B, C, D?     */
   PORTB2 = Ausgang; /* egal welcher Port Eingang oder Ausgang ist? */

if (Eingang = Low/0)
      Ausgang = Low/O;

else      Ausgang = High/1;  /* die LED soll leuchten */

}

dann kompilieren und die .bin in eine .hex wandeln - aber wie!?
dann mit SP12 uploaden. so habe ich mir das vorgestellt.


wäre toll, wenn mir jemand helfen könnte, wie das Programm aussehen
muss, damit es auch funktioniert und an welchem Port beim AT90S4433 der
Eingang bzw. Schalter und an welchem Port die LED sein soll.


Ausserdem würde ich mich über links zum Thema "C für AVR-µC´s"
freuen!

danke schon mal im voraus!
ist jetzt schon spät, gute nacht

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein kommentar dazu würde mir vorerst auch schon weiterhelfen!

Hilfe!
Ich kenne die Syntax spezielle für AVR's nicht!

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schon besser oder?


#include <io.h>

main()
{
    outp(0xff, DDRB);      /* use PortB for output (LEDs) */
    outp(0x00, DDRD);      /* use PortD for input (switches) */

if (DDRD = 0)
        DDRB = 0;
    else
        DDRB = 1;     /* turn LEDs on */
}

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich suche einen guten link oder ein buch zum Thema AVR's in C
programmieren.
ich würde gerne wie im AVR-Tutorial mit ein paar Schaltern LEDs
ansteuern, aber nicht in assembler sondern in C.

Autor: Florian Pfanner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal auf AVR-Freaks.net um. Dort müsstest du einiges finden.
Hier auf der Seite existiert auch irgendwo ein Link zu einer C
einführung für AVR.

Gruß, Florian

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke!

Ich hab vor 2 Tagen den µC AT90LS4433 bekommen und jetzt hab ich mir
schon einen winzigen programmer gebaut und die ersten LEDs leuchten
jetzt auch schon.
So macht das Spass, allerdings mag ich Assembler nicht sonderlich und
abschreiben ist auch nicht mein Ding..
hab trotzdem mal den I/O-Teil vom Tutorial in Assembler programmiert:

.include "4433def.inc"
         ldi r16, 0xFF
         out DDRB, r16
         ldi r16, 0b11111000
         out PORTB, r16
ende:    rjmp ende

allerdings hab ich Null Ahnung von der Assembler Syntax und will sie
eigentlich auch gar nicht lernen, da mir C besser gefällt und ich auch
schon etwas kann.

Wie ändere ich mein kleines Programm, damit daraus ein "Lauflicht
wird?

so nebenbei:
im Tutorial steht im I/O-Teil, dass die 4433def.inc fehlerhaft ist und
es wird auf die richtige Datei verlinkt...
die hat bei mir auch einen Fehler produziert (bei Zeile 164 glaub ich)
- ich hab die Zeile gelöscht und es ging - was ich da gelöscht habe
will ich vorerst gar nicht wissen...

Autor: Florian Pfanner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lies dier mal folgenden Artikel durch:
http://www.mikrocontroller.net/articles/c/ (hier auf der Seite)
Ich habs zwar noch nicht ganz durchgelesen, aber es müsste einige
Grundlegende dinge vermitteln.

Gruß, Florian

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.