Forum: Mikrocontroller und Digitale Elektronik AVR, I/O - Logikunterschied zw. Simulator und STK500


von __Son´s B. (bersison)


Lesenswert?

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?

von spess53 (Gast)


Lesenswert?

Hi

>Woran liegt diese Logik-Negation?

In der Hardware des STK500.

MfG Spess

von __Son´s B. (bersison)


Lesenswert?

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?

von spess53 (Gast)


Lesenswert?

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

von __Son´s B. (bersison)


Lesenswert?

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.

von spess53 (Gast)


Lesenswert?

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

von __Son´s B. (bersison)


Lesenswert?

...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.

von spess53 (Gast)


Lesenswert?

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

von spess53 (Gast)


Lesenswert?

Hi

Nachtrag:

Du kannst auch in der STK500-Hilfe unter

-Description of user LEDs
-Description of User Switches

MfG Spess

von __Son´s B. (bersison)


Lesenswert?

DANKE für deine Rü´en!

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
Noch kein Account? Hier anmelden.