Forum: Mikrocontroller und Digitale Elektronik AVR644p Wandelt am ADC2(Pin A2) keinen Wert


von funkeld (Gast)


Lesenswert?

Hallo, ich habe eine Sharpsensor an dem PA2 des 644p.
Bloss er wertet keine Wert aus mit meinem selbstgestrickten Bascom 
Programm.
Mit diesem Bascombefehlen klappt es:
$regfile = "M644pdef.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 32
$framesize = 64
$baud = 19200

Dim Adcv As Word

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , 
Databits = 8 , Clockpol = 0
Open "COM1:" For Binary As #1

Config Adc = Single , Prescaler = 8 , Reference = Avcc
Start Adc

Enable Interrupts

Waitms 500

Do

Waitms 300

Adcv = Getadc(2)
Print #1 , Adcv

Loop
End

aber mit meinem selbstgestrickten kommt nur "O" zum Terminal, woran 
liegt das:
$regfile = "m644pdef.dat"
$framesize = 32
$swstack = 32
$hwstack = 64
$crystal = 16000000
$baud = 19200

Declare Sub Adc_init()
Declare Sub Adc_read()

Dim A_h As Word
Dim A_l As Byte
Dim Adc_ergeb As Word
Dim W As Byte

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , 
Databits = 8 , Clockpol = 0
Open "COM1:" For Binary As #1

Call Adc_init()

Do

 Waitms 300
 Call Adc_read()
 Print #1 , Adc_ergeb
 Waitms 100

Loop

End

Sub Adc_init
   Set Admux.refs0
   Reset Admux.refs1                       ' interne Referenzspannung 
nutzen

   Set Adcsra.adps0
   Set Adcsra.adps1
   Reset Adcsra.adps2                      ' Frequenzvorteiler

   Reset Adcsra.adate                     ' Single

   Set Adcsra.aden                        ' ADC aktivieren

   Set Adcsra.adsc
   While Adcsra.adsc = 1                  ' eine ADC-Wandlung
   Wend
End Sub

Sub Adc_read()
   Reset Admux.mux0                        ' PA2 ???
   Set Admux.mux1

   Set Adcsra.adsc
   While Adcsra.adsc = 1                  ' eine ADC-Wandlung
   Wend

   A_l = Adcl0
   A_h = Adch0 * 256
   Adc_ergeb = A_l + A_h
End Sub

: Verschoben durch Moderator
von funkeld (Gast)


Lesenswert?

Habe den Fehler eingekreist:
ADCL0 in 2 und ADCH0 in 2.

Aber trotzdem kommt bei einer Abfrage bei beiden immer die "2".

Gruss

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.