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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.