mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio Simulator


Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
wenn ich den PortX als Eingänge mit Pull Up definiere müssten doch das

PINX Register im Simulator den Wert 0xFF haben. Es steht aber 0x00
drin. Ein Fehler? In der Hilfe zum Simulator habe ich dazu nichts
gefunden.

Gruß

Autor: Togger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Peter,
ob Ein- oder Ausgang wird im DDRx Register definiert (Schritt 1).
"0" für Eingang, "1" für Ausgang - jeweils für jeden Pin.

Willst du dann was ausgeben, schreibst du es ins Portx Register, willst
du was einlesen, liest du das pinx Register.

Ok, Register ist auch falsch, denn es handelt sich um Ports (für die
Schlauwis hier ;-))

Somit liegt kein Fehler vor, denn wenn du noch nix ausgegeben oder
eingelesen hast, sind die Werte für portx und pinx zufällig.

lg Ralf :-)

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist mir klar: Ein Beispiel:
Ports initialisieren:

DDRB = 0x00 // Alles Eingänge
PORTB = 0xFF // Interne Pull Ups aktivieren

In der main:

uint8_t Input;

Input = PINB;

Jetzt müsste doch in Input 0xFF stehen, tut es aber nicht, es steht
0x00 drin.

Autor: D. W. (dave) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja.

Wie prüfst du nach, ob 0xFF drin steht?

Autor: D. W. (dave) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, lesen ist doch manchmal sinnvoll..

Woher soll der Simulator wissen, was an dem Pin dranhängt?

Es könnte ja etwas den Pin die ganze Zeit auf low ziehen... deswegen
geht das nicht.

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das stimmt das da etwas auf GND ziehen könnte, ich fände es aber
logischer das man externe Beschaltung über ein Stimuli file vorgibt.
Für mich ist das ein Fehler in der Nachbildung der Funktionalität der
Ports.

Mit dem Watch Window kann man prima die Inhalte von Variablen
überwachen.

Autor: Togger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es steht drin, was er am PortB (PinB) einliest.
Ja hast schon Recht: in "Echt" wird es so klappen, der Simulator
scheint von den Pullups nix zu wissen ;-)
Man kann eben anscheinend nicht alles simulieren.
Dann bleibt dir nur im Simulator Werte "von Hand" zu setzen.

lg Ralf

Autor: Andreas Kassner (andi_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@peter: Welcher Pin low oder high ist, mußt Du im AVR-Studio mit der
Maus im I/O-Bereich unter PortB durch klick auf eines der PinB-Bits
schon selber bestimmen, von alleine geht da nix, gerade nachvollzogen.

MfG
Andi

Autor: Wolfgang Weinmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

es bleibt auch noch zu sagen, daß der Simulator nicht alles fehlerfrei
macht. Ich wollte mit dem Timer1 im Modus FastPWM was simulieren - aber
der Simulator machte Unsinn. Dann habe ich es aufgegeben und der uC
programmiert - und siehe da alles hat wie gewünscht funktioniert.

Bei so einem Verdacht ist auch AVRfreaks.net eine Hilfe

Gruß

Wolfgang

--
www.ibweinmann.de
Mikrocontrollersysteme

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei der Timer Simulation hab ich auch schon ein paar Fehler bemerkt.
Aber das mit den Pull Ups finde ich ziemlich elementar, schade.
Ansonsten gefällt mir das AVR Studio mit GCC Unterstützung sehr gut,
bis auf das Syntax Highlighting des Editors.

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.