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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren