die hex Werte H und L des ADC auslesen

OP #3553675
Lesenswert?
• ▲
▼
Hallo Leute ich AVR Anfänger will etwas lernen.

Ich möchte die hex Werte H und L  des ADC auslesen komme nicht weiter.

Habe es geschafft laut Roland Walter Buch  die H Bits auf Tastendruck 
auszulesen.

Aber ich bekomme immer nur eine zweistellige hex raus.
Ich wollte 10 Byte. Eine dreistellige hex.

Hier mein Listing  für Basecom

$Regfile="m8def.dat"   'ATmega8-Deklarationen
$Crystal=3686400       'Quarz: 3,6864 MHz
$baud = 9600           'Baudrate zum PC: 9600 Baud
Declare Sub Keypressed
Portd.5 = 1
DDRC =&B00000000       'PC7...PC0=0: PortC-Pins auf Eingang
Admux = &B01100000     'Bits7+6=01: Aref ist intern verbunden
     ? 'Bit5=1: LeftAdjust, nur 8 Bit in ADCH „WAS muss ich hier 
ändern???“
                            'Bits3...0=0000: Pin ADC0 wählen
ADCSRA=&B11100010           'Bit7=1:AdcOn,Bit6=1:Start,Bit5=1:Frei
                            'Bits2+1+0=010: AdcClock=AvrClock/4
 Do
  Debounce Pind.5 , 0 , Keypressed , Sub
Loop
End
Sub Keypressed
    Udr = Adch
  End Sub
  End

Schon  mal  vielen Dank. Ich hoffe ich mache  mich  hier nicht 
lächerlich!
Gast #3553874
Lesenswert?
• ▲
▼
Die 10 Bits des AD Ergebnis verteilen sich auf die 2 Register ADCL und 
ADCH. Zum Auslesen muss man erst ADCH und dann ADCL auslesen - viele 
Compiler können auch schon gleich beide Register als ein pseudo 16 Bit 
register ansprechen etwa als adc oder adcw.

Wenn das BIT LeftAdjust gestetzt ist, sind 8 Bits in ADCH und 2 in ADCL, 
sonst ist es anders herum.
#3554024
Lesenswert?
• ▲
▼
Jürg Wodarka schrieb:
> ja das ist mir bekannt. aber ich kann nur ADCH oder ADHL auslesen. ich
> verstehe aber nicht wie ich die High und Low zusammen bekomme das ich
> eine dreistellige hex bekomme.


Ergebnis = 256 * ADCH
Ergebnis = Ergebnis + ADCL


In BASCOM gibt es sicher auch noch andere Möglichkeiten um die High-Bits 
um 8 Stellen nach links zu verschieben.

Aber warum benutzt du eigentlich nicht BASCOM-typisch ganz einfach die 
vorgefertigte Funktion getadc?
http://avrhelp.mcselec.com/index.html?getadc.htm

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.