ADC und Portpin am gleichen AVR-Port benutzen

Gast
Wie man das mit Bascom macht weiß ich nicht. Ich kann´s dir nur auf 
Registerbene erklären.

Zunächst mal gibt es ja für jeden Pin ein Bit mit dem du die 
Datenrichtung bestimmen kannst ( Data Direction Register (DDRx), für 
Port B also DDRB).
Für I/O musst du auf Ausgang stellen und für Analog auf Eingang.

Dann gibt es bei dem ADC ein Register namens ADMUX (kommt von 
multiplexing) mit dem man den Pin wählt, wo die ADC Hardware den Wert 
misst (sampled).

Die Lösung zu deiner Frage ist also, die DDR Bits 4 - 7 von PortA
auf "Ausgang zu stellen", die DDR Bist 0 - 3 auf Eingang und die MUX 
Bits in ADMUX sich nur in dem Bereich 0 - 3 bewegen zu lassen.
Gast
Jasson schrieb:

> Zunächst mal gibt es ja für jeden Pin ein Bit mit dem du die
> Datenrichtung bestimmen kannst ( Data Direction Register (DDRx), für
> Port B also DDRB).
> Für I/O musst du auf Ausgang stellen und für Analog auf Eingang.

Jain. Zwar muß man natürlich für ADC auf Input schalten, aber für 
digital IO natürlich nicht zwingend auf Output, sondern nur dann, wenn 
Output gewünscht ist. Für digital Input schaltet man natürlich genauso 
auf Input wie für analog Input.

> Dann gibt es bei dem ADC ein Register namens ADMUX (kommt von
[...]

Außerdem gibt es bei allen neueren AVRs noch DIDR-Register, bei denen 
jedes für analoge Zwecke genutzte Bit besser auf eins steht und jedes 
für digitale Zwecke bnutzte besser auf null. Während erstere Forderung 
optional ist, ist die zweite zwingend erforderliche Voraussetzung für 
eine Funktion. Entscharft wird das einzig dadurch, daß der 
Standardinhalt nach Reset 0 ist.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.