Frage zu internen Pull-Up´s

Gast #112992
Lesenswert?
• ▲
▼
Hallo,

mal ´ne Verständnisfrage: Wenn ich
DDRA = 0x00;  // Port A als Eingang definieren
PORTA = 0xFF; // interne Pull-Up´s an Port A aktivieren
müßte doch über die Pull-Up´s nach dem nächsten Takt High an PINA
anliegen, oder?
Wenn ich das Zeile für Zeile im Atmel Studio 4.09 simuliere und mir
PINA anschaue, bleiben die aber auf Low. Wo habe ich meinen
Gedankenfehler?
Gruß

Lutz
Gast #112993
Lesenswert?
• ▲
▼
Schau dir mal im Datenblatt das Kapitel über Ports an. Im Datenblatt vom
ATmega16 ist z.B. Figure 23 auf Seite 49 interessant. Nachfolgend
(Figure 24) ist auch noch ein Timing-Diagramm eingezeichnet. Demnach
ist direkt nach dem Schalten der Pullups schon der Zustand davor
gelatcht worden und daher kriegst du ein LOW Signal.
Gast #112996
Lesenswert?
• ▲
▼
Hi,

ich habe mir so geholfen...

;---PORT B---
  clr wrH
  out DDRB,wrH    ; PortB Eingang
  ldi wrH,$FF
  out PORTB,wrH    ; Pullups ein!
  out PINB,wrH    ; PortB für den Simulator auf H

Ja ist nicht optimal aber besser für die Übersicht.

MfG AVRli

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.