Hallo, wenn ich über AVR Studio 4.19 in C einen Pin oder Port programmiere, funktioniert dieses im Simulator einwandfrei - nicht aber beim ATmega16 über STK500. _Bsp_ PORTB = 0b00011000; // oder 0x18 -> Simulator zeigt 00011000 an - KLAR, -> am Versuchsboard leuchtet LED 11100111 auf. Mit den Eingängen verhält es sich genau so! "Pull-Up"-Konfig. spielt hierbei scheinbar keine Rolle. Woran liegt diese Logik-Negation?
Hi
>Woran liegt diese Logik-Negation?
In der Hardware des STK500.
MfG Spess
spess53 schrieb: > In der Hardware des STK500. Das heißt, dass der Simulator die Zustände korrekt angibt, wie eine später aufgebaute Hardware es zeigen würde!? Wenn es nur am STK500 liegt, ist das für Testes äußerst irritierende. Kann ich den STK500 entsprechend umstellen/umkonfigurieren, so dass er die I/O´s korrekt anzeigt?
Hi >Das heißt, dass der Simulator die Zustände korrekt angibt, wie eine >später aufgebaute Hardware es zeigen würde!? Nicht den Zustand irgend welcher Hardware, sondern der Portpins >Wenn es nur am STK500 liegt, ist das für Testes äußerst irritierende. >Kann ich den STK500 entsprechend umstellen/umkonfigurieren, so dass er >die I/O´s korrekt anzeigt? Nein. Die LEDs des STK500 sind kein Logikanalysator. Das Verhalten der Taster und LEDs entspricht durchaus gängiger Schaltungstechnik. Ist also, streng genommen, praxisnäher. MfG Spess
DANKE für die rasche Rü. spess53 schrieb: > sondern der Portpins KLAR, darum geht es hier im Thread! spess53 schrieb: > Die LEDs des STK500 sind kein Logikanalysator. Das Verhalten der Taster > > und LEDs entspricht durchaus gängiger Schaltungstechnik. Ist also, > > streng genommen, praxisnäher. hmm - MEINE Logik sagt mir; ein High am Ausgang = LED"ON". Und wenn ich ein High auf einen PINx gebe, rechnet dieser mit einer "1". Natürlich kann ich diese Dinge auch negiert beschalten, müsste dann bei der Programmierung aber IMMER mit dem umgehehrten I/O-Wert rechnen. Scheint mir sehr Fehleranfällig zu sein.
Hi >hmm - MEINE Logik sagt mir; ein High am Ausgang = LED"ON". Deine Logik. Es gibt auch negative Logik. Z.B. ist bei RS232 ein H -3..-15V und ein L +3...+15V. >Und wenn ich ein High auf einen PINx gebe, rechnet dieser mit einer "1". Wieso ist ein gedrückter Taster ein High? MfG Spess
...wie geschrieben, gibt es viele Wege zum Ziel. Natürlich KANN! ein negativer Wert auch einen aktiven Zustand begründen - je nach Peripherie-Logik/-Schaltung. Deine Beschreibung zum STK500 wiederspricht folgender Literatur; _Quelle_ AVR-RISC // Roman Mittermayer // Franzis // ISBN 9783772341076 // 2008 Seite 61 // 2.3.4 Schalten einer LED: Möglichkeit 2 _Zitat_ "Wenn sie das myAVR-Board oder das STK500 verwenden, können Sie dort die LEDs dirkt über einen Vorwiderstand mit den entsprechenden Pins am Mikrocontroller verbinden. Sie schließen die LED also nicht gegen VCC (wie Möglichkeit 1) an, sondern gegen Masse. Der Strom wird also vom AVR geliefert..." _Zeichnung_ An PORTA.0 ist der Rv, dahinter die LED zum GND geschaltet. Somit schaltet der AVR/PORT den Vcc zum Ausgang durch. Also, genau meiner Logik nach - leider NICHT meiner STK500-Beobachtung.
Hi Wie wäre es denn, wenn du dir mal die Schaltung vom STK500 ansiehst (findest du in der Hilfe zum STK500 vom AVR Studio). Dort wirst du nämlich feststellen, das die LEDs fest mit VCC verdrahtet sind und die Taster nach GND schalten. Wenn du es anders haben willst musst du eigene LEDs und Taster anschließen. Wird dir niemand verwehren. Dein Zitat ist im Bezug auf die LEDs des STK500 ganz einfach falsch. Man soll nicht alles unbesehen glauben was in Büchern steht. Autoren sind auch nur Menschen. MfG Spess
Hi Nachtrag: Du kannst auch in der STK500-Hilfe unter -Description of user LEDs -Description of User Switches MfG Spess
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.