Hab folgende Schaltung: |-----| Transistor 5V --|__R__|--LED--- C E------ GND B | | µC PinA0 mit diesem Code: #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> int main(void) { DDRA = 0xff; while(1) { PORTA ^= (1<<PA0); _delay_ms(500); } } Der Transistor ist ein BCR135. Und die LED ist auch richtig gepolt. Anode an R und Kathode an C vom Transi. Jetzt versteh ich nicht warum die LEd nicht leuchtet? Hab sie auch schon ausgebaut und schau sie leuchtet also funktioniert diese. Den Transi hab ich auch gewechselt, also nehm ich an diese funkt auch. Also kanns doch nur an dem code liegen, aber dieser ist meiner meinung nach richtig, oder....? Gruß Rafi P.S.: sorry aber anders krieg ich das kunstwerk oben nicht hin, hoffe das es trotzdem verständlich ist.
Woher weiß dein Code _delay_ms(500), wie schnell dr Prozessor ist ? Der BCR135 ist ein Digitaltransistor mit eingebautem Basisvorwiderständen von 10k Ohm. In dieser anwendung (eine 20mA LED, IC/IB=20) hätte er aber maximal 3k3 haben sollen.
MaWin schrieb: > In dieser anwendung (eine 20mA LED, IC/IB=20) hätte er aber maximal > 3k3 haben sollen. Wo steht das im Datenblatt?
Hab #define F_CPU 4000000UL eingefügt. Hab auch gerade ein Oszi zur Hand. Hab mir mal die Ausgänge angeguckt und da wird nix auf high gesetzt. Habs auch mit anderen Pins versucht, zeigt auch kein Ausgangspegel an. Iwie steh ich gerade auf dem Schlauch.
Rafi Dafi schrieb: > ... da wird nix auf high gesetzt. Was zieht den Ausgang auf Low? Klemm' den Transisitor ab und messe noch einmal.
Funktioniert PORTA ^= (1<<PA0); auch? Ich kenne nur PORTA |= (1<<PA0);
Jetzt hab ich einen ganz komischen Fehler vom AVRStudio Unexpected signature 0x00000102 (expected 0x001e9801)., ModuleName: TCF (TCF command: Device:startSession failed.) Hab mal Versorgung aus und wieder ein geschaltet und es funkt wieder. Weiß jemand was es zu bedeuten hat?
Helmut56 schrieb: > PORTA ^= (1<<PA0); http://de.wikipedia.org/wiki/XOR-Gatter > PORTA |= (1<<PA0); http://de.wikipedia.org/wiki/Oder-Gatter
Helmut56 schrieb: > Funktioniert > > PORTA ^= (1<<PA0); auch? Ja. Das ist ein EXOR Befehl. Man spart sich damit die Zeile zum wieder aussschalten des Pins [PORTA &= ~(1<<PA0)].
Hi >Ja. Das ist ein EXOR Befehl. Man spart sich damit die Zeile zum wieder >aussschalten des Pins [PORTA &= ~(1<<PA0)]. Und bei neueren AVRs toggled man mit PINA = (1<<PA0). MfG Spess
Und wenn du PA0 einfach mal auf HIGH setzt, ohne ihn dann in deiner Schleife zu verändern?
Rafi Dafi schrieb: > Hab folgende Schaltung: <schnipp> Wie groß ist R? Leuchtet die LED wenn du C und E am Transitor kurzschließt? Leuchtet die LED, wenn du die Basis des Transistors auf 5V legst? (dazu den Controller aus der Fassung ziehen oder anderweitig die Verbindung nach PA0 unterbrechen) > [C Code gesnipt] Sollte funktionieren. Du hast auch den richtigen Controller eingestellt? Was ist da noch an deinem Controller angeschlossen? Läuft der überhaupt? Taktversorgung? Fehlt vielleicht der 10K Widerstand von Reset nach +5V? XL
Helmut56 schrieb: > Und wenn du PA0 einfach mal auf HIGH setzt, ohne ihn dann in deiner > Schleife zu verändern? Dann passiert auch nichts. Hat den keienr schon mal diesen Fehler gesehen, ich hab das dumpfe Gefühl das es daran liegt. Unexpected signature 0x00000102 (expected 0x001e9801)., ModuleName: TCF (TCF command: Device:startSession failed.) Tauchte bis jetzt auch nur 2 mal auf.
Rafi Dafi schrieb: > Unexpected signature 0x00000102 (expected 0x001e9801)., ModuleName: TCF > (TCF command: Device:startSession failed.) Der Programmer sieht eine µC-Signatur 0x00000102, erwartet aber 0x001e9801. Letzteres ist ein ATmega2560. Was für einen ATmega setzt Du denn ein?
Ja das ist ja auch ein Atmega 2560, den ich einsetze. Aber warum taucht der Fehler überhaupt auf? Hatte vorher schon den 2560 progammiert und dabei ist nie so etwas aufgetretten.
Axel Schwenke schrieb: > Wie groß ist R? 820ohm. Axel Schwenke schrieb: > Leuchtet die LED wenn du C und E am Transitor kurzschließt? Leuchtet die > LED, wenn du die Basis des Transistors auf 5V legst? (dazu den > Controller aus der Fassung ziehen oder anderweitig die Verbindung nach > PA0 unterbrechen) > >> [C Code gesnipt] > > Sollte funktionieren. Du hast auch den richtigen Controller eingestellt? > > Was ist da noch an deinem Controller angeschlossen? Läuft der überhaupt? > Taktversorgung? Fehlt vielleicht der 10K Widerstand von Reset nach +5V? Ist alles in Ordnung. Bis auf die 10k am Reset. Hab den Reset Pin vom µC auf einen Max811 mit 4k7 in Reihe ausgeführt. Dann hab ich noch einen 1k Widerstand vom ISP Reset Pin an dieselbige LEitung gelegt. Max811--|---|----|--- RST Pin ISP | |_1k_| | |---|----|--- RST Pin µC |_4k7| Sollte zusätzlich noch ein 10k Pull-up an die REset Leitung?
Rafi Dafi schrieb: > Axel Schwenke schrieb: >> Leuchtet die LED wenn du C und E am Transitor kurzschließt? Leuchtet die >> LED, wenn du die Basis des Transistors auf 5V legst? (dazu den >> Controller aus der Fassung ziehen oder anderweitig die Verbindung nach >> PA0 unterbrechen) Dazu schreibst du nix? >> Was ist da noch an deinem Controller angeschlossen? Läuft der überhaupt? >> Taktversorgung? Fehlt vielleicht der 10K Widerstand von Reset nach +5V? > > Ist alles in Ordnung. Und das weißt du woher? Nur weil der µC sich programmieren läßt, muß er noch lange nicht laufen. > Bis auf die 10k am Reset. > Hab den Reset Pin vom µC auf einen Max811 mit 4k7 in Reihe ausgeführt. > Dann hab ich noch einen 1k Widerstand vom ISP Reset Pin an dieselbige > LEitung gelegt. > > Max811--|---|----|--- RST Pin ISP > | |_1k_| > | > |---|----|--- RST Pin µC > |_4k7| > > Sollte zusätzlich noch ein 10k Pull-up an die REset Leitung? Nein. Da der MAX811 einen Push-Pull Ausgang hat, zieht er Reset auch ohne Pullup auf H. Die Verbindung von ISP sollte allerdings direkt an den µC gehen. Den 1K Widerling braucht es dort nicht unbedingt. Als Test solltest du mal ein Programm probieren, das PA0 einfach auf H setzt und dann nix mehr tut (Endlosschleife). Wenn dann die LED immer noch aus bleibt, würde ich sagen dein Controller läuft nicht an. Kann fehlender Takt sein. Oder irgendwas hält ihn im Reset. XL
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.