funktioniert das auf diese weise?

Gast #74947
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
Gast #74949
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 */
}
Gast #74951
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
Gast #74952
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...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 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.