DEAF BOY
05.03.2007, 17:04
Hallo, ;)
Ich habe Spannung messen programmiert.
ADC0 funktioniert auf dem Steckbrettboard. Setze ich Getadc(1), funktioniert es nicht. Terminal zeigt 0 Bit : Spannung: 0.00 V
Unter BASCOM-Simulator funktoniert alle ADC0 bis ADC5. Nein, ich habe nicht vergessen, Schleifer an ADC1 bis ADC5 zu verbinden.
Kurz:
Getadc(0) geht | Unter AVR-Simulator geht es
Getadc(1) geht nicht | Unter AVR-Simulator geht es
Getadc(2) geht nicht | Unter AVR-Simulator geht es
Getadc(3) geht nicht | Unter AVR-Simulator geht es
Getadc(4) geht nicht | Unter AVR-Simulator geht es
Getadc(5) geht nicht | Unter AVR-Simulator geht es
$regfile = "m8def.dat" 'ATMEGA8-16PI
$crystal = 4000000 'Quarzoszillator 4MHz
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim B As Word 'Bit(s)
Dim Z As Word 'Zwischenrechnung
Dim E As Single 'Ergebnis
Start Adc
Do
B = Getadc(1) 'Bit(s) am PC.1 (ADC1) auslesen
Z = B * 5 'Zwischenrechnung = Gelesene Bit(s) * 5 Volt
E = Z / 1024 'Ergebnis = Zwischenrechnung / 1024
Print ; B ; " Bit(s) : Spannung:" ; Fusing(e , "#.##") ; " V"
Waitms 50 '50 Millisekunden warten
Loop
Ich habe Spannung messen programmiert.
ADC0 funktioniert auf dem Steckbrettboard. Setze ich Getadc(1), funktioniert es nicht. Terminal zeigt 0 Bit : Spannung: 0.00 V
Unter BASCOM-Simulator funktoniert alle ADC0 bis ADC5. Nein, ich habe nicht vergessen, Schleifer an ADC1 bis ADC5 zu verbinden.
Kurz:
Getadc(0) geht | Unter AVR-Simulator geht es
Getadc(1) geht nicht | Unter AVR-Simulator geht es
Getadc(2) geht nicht | Unter AVR-Simulator geht es
Getadc(3) geht nicht | Unter AVR-Simulator geht es
Getadc(4) geht nicht | Unter AVR-Simulator geht es
Getadc(5) geht nicht | Unter AVR-Simulator geht es
$regfile = "m8def.dat" 'ATMEGA8-16PI
$crystal = 4000000 'Quarzoszillator 4MHz
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim B As Word 'Bit(s)
Dim Z As Word 'Zwischenrechnung
Dim E As Single 'Ergebnis
Start Adc
Do
B = Getadc(1) 'Bit(s) am PC.1 (ADC1) auslesen
Z = B * 5 'Zwischenrechnung = Gelesene Bit(s) * 5 Volt
E = Z / 1024 'Ergebnis = Zwischenrechnung / 1024
Print ; B ; " Bit(s) : Spannung:" ; Fusing(e , "#.##") ; " V"
Waitms 50 '50 Millisekunden warten
Loop