PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ADC0 funktioniert, ADC1 bis ADC5 nicht (Atmega8)



DEAF BOY
05.03.2007, 16: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

kolisson
06.03.2007, 00:32
keine ahnung... ich sehe da eigentlich kein prob und es sollte klappen

Jon
06.03.2007, 13:35
Hast du es mal mit einem anderen ATMega probiert? Vielleicht ist ja an deinem etwas kaputt.
Oder hast du vielleicht vergessen AVCC an VCC zu schließen?

jon

DEAF BOY
06.03.2007, 15:26
Hallo,

ist leider defekt. Hab letzte Woche von Reichelt geliefert bekommen. Grr.

Edit. Doch es geht. Leider hat ADC0 Einfluß auf ADC1 und ADC2.

Wenn ADC0 0 V liegt, dann sinken ADC1 und ADC2 mit. Liegt ADC0 5 V, dann erhöhen ADC1 und ADC2 mit.

Andere Atmega8 funktoniert einwandfrei.

http://img49.imageshack.us/img49/4136/terminallf2.jpg (http://imageshack.us)