mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED leuchtet nicht!


Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ich habe dieses Programm geschrieben:

Code:
#include <avr/io.h>          // (1)

int main (void) {            // (2)

   DDRA  = 0xff;             // (3)
   PORTA = 0xff;             // (4)

   while(1) {                // (5a)
     /* "leere" Schleife*/;  // (5b)
   }                         // (5c)

   /* wird nie erreicht */
   return 0;                 // (6)
}


Und eine LED am ProtA zu GND der Batterie geschlossen.

Nun sollte doch eigentlich die LED leuchten?
Oder hab ich was falsch gemacht?
Und die LED ist nicht kaputt, das hab ich ausprobiert...
Grüsse!

Autor: LEDfinder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... dann schließe die LED einfach richtig rum an.

Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab die LED richtig angeschlossen... Das kurze Beinchen zu GND der 
Batterie und das lange Beinchen zum Pin des Mikrocontrollers.

Autor: sink&source (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ProtA zu GND

Am Port A wirds besser gehen, allerdings nur mit einer NP-LED.
Oder den Treiber umschalten.

Autor: sink&source (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Beinchen sind auch bei manchen LEDs anders herum.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Programm ist technisch gesehen OK.

Bloss: es müssen weitere Voraussetzungen erfüllt sein, damit es eine 
Chance hat zu arbeiten!

1. Es ist grundsätzlich für AVRs geschrieben. Es funktioniert nicht auf 
anderen Mikrocontrollern. Hast du einen AVR?

2. Es muss übersetzt werden und das Ergebnis (HEX-Datei) muss in den AVR 
übertragen werden. Hast du das gemacht?

3. Der AVR muss einen PORTA haben und genau an dem Pin, an dem du die 
"LED Schaltung" hast einen Ausgabepin haben. Hat dein AVR das?

4. Die LED muss über einen Widerstand (Vorwiderstand) angeschlossen 
werden. Wenn nicht kann sie nach 1x Aufblitzen bereits kaputt sein. Hast 
du einen Widerstand verwendet?

5. Der AVR muss laufen. Am Laufen können hindern: Kein Saft oder der AVR 
wird im RESET gehalten. Hat dein AVR Saft? Entlässt dein 
Programmieradapter/die Programmiersoftware den AVR nach dem 
Programmieren aus dem RESET, d.h. schon ohne angeschlossenen 
Progammieradapter getestet?

Autor: LEDfinder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Beinchen sind auch bei manchen LEDs anders herum.
selten, es sei denn sie hat jemand mit einem Seitenschneider bearbeitet.

@LEDsucher:
da Du uns nicht sagst welcher AVR den Port A zur Verfügung stellt und 
wie das Programm in diesen gelangt, musste halt selber weiter orakeln.

Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ATmega32
ISP Dongle
Ich erstelle eine Hexdatei mit AVR Studio, danach lade ich sie in 
PonyProg.

Also all deine Fragen wurden erfüllt.
Nur bei etwas bin ich nicht ganz sicher:
Wie kann ich das überprüfen bzw. machen, dass er nicht im Reset gehalten 
wird?

Grüsse!

Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und ich merke auch wenn ein Programm rübergeladen, wird die LED beginnt 
zu flimmern, aber egal ob ich PORTA = 0xff oder PORTA = 0x00 die LED 
brennt nun immer...

Grüsse

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programmierstecker abziehen, dann hat der Adapter/Ponyprog keine Chance 
dazu. Oder den logikpegel an dem RESET-Pin messen (Spannung gegen GND). 
Ist im RESET LOW und nicht im RESET HIGH.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ATmega32
> PORTA

AVcc angeschlossen? Meinst du nicht, es wäre mal Zeit zu skizzieren, wie 
dein Hardwareaufbau aussieht?

Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ich ha nun nochmal beide Möglichkeiten ausprobiert und jedesmal den 
Stecker herausgezogen, aber die LED leuchtet immer noch..
Nun hab ich die LED eben an Vcc der Batterie angeschlossen und die LED 
auch entsprechend gewendet...

Gibts sonst noch was, an was es liegen könnte?
Und wie gesagt, ich sehe schon wie was passiert, denn die LED flackert, 
sobald was rüber geladen wird, was ja bedeutet, dass es in diesem Moment 
unterschiedlich hochohmig ist und sobald das Programm rüber geflasht 
ist, brennt die LED wieder voller Freude und ein kleinstes flakern..

Grüsse!

Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ich ha nun nochmal beide Möglichkeiten ausprobiert und jedesmal den 
Stecker herausgezogen, aber die LED leuchtet immer noch..
Nun hab ich die LED eben an Vcc der Batterie angeschlossen und die LED 
auch entsprechend gewendet...

Gibts sonst noch was, an was es liegen könnte?
Und wie gesagt, ich sehe schon wie was passiert, denn die LED flackert, 
sobald was rüber geladen wird, was ja bedeutet, dass es in diesem Moment 
unterschiedlich hochohmig ist und sobald das Programm rüber geflasht 
ist, brennt die LED wieder voller Freude und ohne ein kleinstes 
flakern..

Grüsse!

Autor: LEDfinder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Stecker herausgezogen, aber die LED leuchtet immer noch..

ist doch genau das wes Du erreichen wolltest (Sie leuchtet)!

> Meinst du nicht, es wäre mal Zeit zu skizzieren, wie dein Hardwareaufbau 
aussieht?

Ohne Arme keine Kekse

Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ich hab das RN-Control:
http://www.roboternetz.de/wissen/index.php/RN-Control

Und nun hab ich eben die LED gewechselt also an Vcc der Batterie und 
nicht mehr an GND, deshalb leuchtet die LED auch, aber mein Zeil wäre es 
ja, dass die LED nur dann leuchtet, wenn ich 0xff bzw. 0x00 habe und 
nicht wenn ich 0xff bzw. 0x00, kommt mir nicht so darauf an, ob sie bei 
0xff oder 0x00 leuchtet bzw. nicht leuchtet, es muss sich einfach 
verändern, wenn ich 0xff zu 0x00 oder 0x00 zu 0xff umschreibe...

Und es kommt mir auch ziemlich komisch vor, dass die Beispiel LEDs des 
RN Control nicht leuchten wenn ich PORTC auf Low programmiere, denn es 
steht, wenn man es so macht und die DIP Schalter aktiviert, sollten die 
LEDs leuchten...

Kann es nicht noch an irgendetwas anderem liegen? Wo ich noch nicht 
ausprobiert habe?

Grüsse!

Autor: Urs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fusebits?

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LEDsucher wrote:
> Und nun hab ich eben die LED gewechselt also an Vcc der Batterie und
> nicht mehr an GND, deshalb leuchtet die LED auch, aber mein Zeil wäre es
> ja, dass die LED nur dann leuchtet, wenn ich 0xff bzw. 0x00 habe und
> nicht wenn ich 0xff bzw. 0x00, kommt mir nicht so darauf an, ob sie bei
> 0xff oder 0x00 leuchtet bzw. nicht leuchtet, es muss sich einfach
> verändern, wenn ich 0xff zu 0x00 oder 0x00 zu 0xff umschreibe...
Und Du willst uns weismachen, dass Du selbst verstehst, was Du da 
geschrieben hast?

An Port C befindet sich übrigens an den Pins 2-5 das JTAG-Interface, das 
bei einem jungfräulichen Controller erst mal deaktiviert werden muss 
(Fuse), damit man die Pins als I/O nutzen kann.

Autor: LEDfinder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du das Board selber gelötet?. Versuche doch mal die zum Board 
gehörenden Demos.

Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Also Fusebits hab ich noch keine Gesetzt... ich weiss nicht wie das 
geht... wo lernt man das? Gibts da ein Tutorial?

Grüsse!

Autor: LEDfinder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Und Du willst uns weismachen, dass Du selbst verstehst, was Du da
>geschrieben hast?

anscheinend nicht.

> wo lernt man das? Gibts da ein Tutorial?

massenweise.

dein Motto scheint "learning by burning" zu sein.

Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Wie soll ich es dir weiss machen? Ich schätze mal einbisschen kann man 
schon verstehen, was ich damit meine...

Aber ich hab gelesen die Fusebits sind ziemlich heikel, denn die kann 
man nicht wieder rückgängig machen, und das die Fusebits meistens schon 
gesetzt sind, wenn man den Mikrocontroller angegeben hat.

@Ledfinder:
Bitte schreib nicht mehr solche ungebrauchbaren Bemerkungen, wenn du 
nicht helfen kannst, lass es sein...

Grüsse

Autor: CogitoErgoSum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach doch einfach mal einen Schaltplan / Photo des Aufbaus und dann kann 
dir vllt eher geholfen werden.

Gruß CogitoErgoSum

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Aber ich hab gelesen die Fusebits sind ziemlich heikel,

Wenn man nicht lesen kann (oder will), ja.

> denn die kann man nicht wieder rückgängig machen,

Wo steht das denn?

> und das die Fusebits meistens schon gesetzt sind, wenn man den Mikrocontroller 
angegeben hat.

Hä?

Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bitte schreib nicht mehr solche ungebrauchbaren Bemerkungen, wenn du
>nicht helfen kannst, lass es sein...

Du bist es der sich durch seine ungenauen Fragen disqualifiziert.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> kurze Beinchen zu GND der
> Batterie

welche Batterie?

Autor: LEDsucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>welche Batterie?

das mit Speaker bezeichnete Bauteil :-)

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.