Hallo, kann mir einer sagen, wieso die Bits am Port invertiert rauskommen? Wenn ich z.B. 00100100 am PortB ausgeben will kommt 11011011 dabei raus. Ich benutze das STK500 mit einem Atmega32. Dies sind meine ersten Schritte mit Micros. Gruss Oliver
Woher weißt Du das die Bits invertiert sind? Wenn am Port LEDs hängen können die auch low-aktiv geschaltet sein, d. h. sie werden mit einer 0 ein- und mit einer 1 ausgeschaltet.
Dirk Dörr wrote: > Woher weißt Du das die Bits invertiert sind? > > Wenn am Port LEDs hängen können die auch low-aktiv geschaltet sein, d. > h. sie werden mit einer 0 ein- und mit einer 1 ausgeschaltet. Ja, Genau. Aber wie kann ich das ändern? Softwaremäßige die Einstellung ändern? Gruss Oliver
Dazu müsstest du die Hardware ändern, wenn das tatsächlich so ist. Aber wo ist das Problem? Wenn du weist das alles genau anders rum ist, kann man das doch im Programm ganz leicht berücksichtigen.
Aber ich muss dich enttäuschen. Laut Schaltplan vom STK500 sind die LED's schon so verschaltet, dass eine 1 am Ausgabeport die LED leuchten lässt und eine 0 sie ausschaltet. Dein Problem muss also woanders liegen. Zeig doch mal dein Pgm.
Karl heinz Buchegger wrote: > Dazu müsstest du die Hardware ändern, wenn das tatsächlich > so ist. > Aber wo ist das Problem? Wenn du weist das alles genau > anders rum ist, kann man das doch im Programm ganz leicht > berücksichtigen. Ja, stört mich nur ein bischen, aber OK, Du hast natürlich Recht! Ich werde das jetzt erstmal so machen wie Du sagst. Gruss Oliver
> Ich werde das jetzt erstmal so machen wie Du sagst. Nein. Nicht. Ich hab das geschrieben, bevor ich mir den Schaltplan zum STK500 gesucht habe! Wenn du eine 1 ausgibst, muss die LED leuchten! Wenn nicht, ist irgendwo etwas faul. Da ich davon ausgehe, dass dein STK nicht defekt ist, kann es dann nur noch dein Pgm sein.
A.K. wrote:
> Auch die STK500 LED-Zeile ist aktiv low.
Hmm.
Hab ich Tomaten auf den Augen? Siehe Anhang.
Nein das stimmt nicht, die Leds leuchten bei einer 0 am Portausgang. Also vor der Ausgabe das Signal invertieren, z.B. mit dem COM Befehl. Jürgen
>Auch die STK500 LED-Zeile ist aktiv low.
Nein. Wenn Buchegger sagt, sie ist aktiv high, dann ist sie es auch.
Egal was der Schaltplan sagt. Da könnte ja jeder kommen.
Karl heinz Buchegger wrote: > A.K. wrote: >> Auch die STK500 LED-Zeile ist aktiv low. > > Hmm. > Hab ich Tomaten auf den Augen? Siehe Anhang. Ich hab Tomaten auf den Augen. Das ist ja gar nicht der µC Ausgang da am Basiswiderstand des Transistors. :-)
Hans wrote: >>Auch die STK500 LED-Zeile ist aktiv low. > > Nein. Wenn Buchegger sagt, sie ist aktiv high, dann ist sie es auch. > Egal was der Schaltplan sagt. Da könnte ja jeder kommen. Du sagst es: Da könnte jeder kommen und behaupten dass free() den Speicher ausnullt. Im Gegensatz zu dir kann ich eingestehen, wenn ich einmal Mist erzähle.
Karl heinz Buchegger wrote: > Aber ich muss dich enttäuschen. > Laut Schaltplan vom STK500 sind die LED's schon > so verschaltet, dass eine 1 am Ausgabeport die > LED leuchten lässt und eine 0 sie ausschaltet. > > Dein Problem muss also woanders liegen. > Zeig doch mal dein Pgm. Sorry, ich war zu langsam mit dem Tippen. Also, das Programm ist nichts aufregendes. Ich wollte halt nur mal das Board testen und fang gerade erst an. Das Programm soll zwei LEDs am Ausgabeport zum flimmern bringen (Bit 2 und Bit 4 oder "00010100"). Im Testlauf ist alles normal, nur wenn ich mein Programm auf den Controller lade, dann leuchten die LEDs in dieser Reihenfolge 111x1x11. 1 steht in diesem Fall für LED leuchtet dauerhaft und x steht für LED flimmert. Ich hoffe Du kannst mir weiterhelfen. Gruss Oliver
Das passt schon. Ich hab den Schaltplan falsch gelesen. Also: Per Programm umdrehen. Die Led leuchtet wenn am Port eine 0 ausgegeben wird.
Dies ist auch vernünftig so. AVRs haben es lieber, wenn sie den Strom durch einen High-Pin nicht selber liefern müssen. Da können sie nicht soviel durchlassen, als wenn sie den Strom auf das GND reinlassen.
Stimmt nur bei den alten AT90. Die Megas/Tinys sind symmetrisch.
Hi also ich kann im Datenblatt keinen Unterschied erkennen. Ob High oder Low, beides mal 20mA. Auch unter Notes fällt mir nichts auf. Kommt das Low Aktiv nicht daher, dass es so früher ofters so war wie Muraer geschrieben hat. Aber bei den AVRs spielt es laut meinen Augen keine Rolle mehr. Gruß MISZOU EDIT: Ok doch nichts übersehen.
um deine anzeige aktib high zu machen invertiere die bits einfach bevor die sie ausgibst. z.b. PORTA = ~(meine_tolle_ausgabe); dann leuchten deine LED's bei ner 1. pumpkin
Die Ausgabe des STK500 ist aktiv LOW. Ich habe es und weiss es daher und im Schaltplan steht es auch so drin! Den Schaltplan kann man zB bei avrfreaks.net herunterladen. Das ist hier ein sehr gutes Forum, und ich finde das sollte auch so bleiben. Den Sprücheklopfern sei daher mal empfohlen erst das Gehirn einzuschalten und dann erst die Klappe aufzureißen und Neulinge / Anfänger nicht zu verunsichern.
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.