www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Einführungsbeispiel aus Tutorial läuft nicht


Autor: Konrad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich mich entschlossen von CControl und Windows auf AVR und Linux zu 
wechseln.
Ich habe die Schaltung von 
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm#test gebaut. Ich habe 
die Datei "testprojekt.hex" von og Seite mit AVRDude auf den ATMega8 
übertragen. Die LED an PB0 blinkt. Die Hardware ist in Ordnung.
Nun habe ich das Einführungsbeispiel aus dem AVR GCC Tutorial leicht 
abgewandelt. Ich benutze Code::Blocks und den GCC. Hier der Quellcode:
#include <avr/io.h>

int main(void)
{
     DDRB  = 0xff;             // (3)
     PORTB = 0xff;             // (4)
    while(1);
    return 0;
}
Den Optimizer habe ich abgeschaltet (und auch alle andern 
Verstellmöglichkeiten durchprobiert). Der Compiler erzeugt eine 
*.elf.hex Datei mit 316 byte. Die Datei kann ich tadellos übertragen, 
nur die LED weigert sich hartnäckig zu leuchten.
Ich habe die Datei auch schon manuell mit selbst gemachten Makefile auf 
der Konsole erstellt. Gleiches Ergebnis. Woran könnte es liegen?

Konrad

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Datei kann ich tadellos übertragen,
>nur die LED weigert sich hartnäckig zu leuchten.
Das hängt wohl damit zusammen, weil die LED an der Kathode geschaltet 
wird. Sprich du musst den Port auf "LOW" ziehen damit sie leuchtet.

Autor: LED nach GND ziehen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn der Schaltplan stimmt dann wird die LED leuchten wenn der Portpin 
auf GND gezogen wird.
PORTB &= ~(1<<PB0);

sollte vorläufig helfen.


Viel Erfolg

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zudem solltest du dir von anfang an angewöhnen nur die Bits anzufassen, 
die auch tatsächlich benötigt werden:
int main(void)
{
     DDRB  |= 0x01;             // (3)
     PORTB &= ~0x01;             // (4)
    while(1);
    return 0;
}
bzw. besser noch durch (1<<PB0)

Autor: Konrad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Scheiße!
Es funzt, ich hab den ganzen Sonntag mit Fehlersuche verdödelt.

(Na ganz um sonst wars auch nicht, ich hab auch ein bißchen was gelernt 
dabei.)

Konrad

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.