PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ADC Probleme



Crashmichl
23.08.2006, 06:18
Hallo,

habe Probleme, wenn ich in BasCom folgendes Programm ausführe:


$regfile = "m32def.dat"
$crystal = 16000000
$baud = 38400



Config Adc = Single , Prescaler = Auto

Dim In_adc As Word

Do

Start Adc
In_adc = Getadc(0)
Stop Adc

Print "In_ASC 0: " ; In_adc

Wait 1

Start Adc
In_adc = Getadc(1)
Stop Adc

Print "In_ASC 1: " ; In_adc

Wait 1

Start Adc
In_adc = Getadc(2)
Stop Adc

Print "In_ASC 2: " ; In_adc

Wait 1

Start Adc
In_adc = Getadc(3)
Stop Adc

Print "In_ASC 3: " ; In_adc

Wait 1

Start Adc
In_adc = Getadc(4)
Stop Adc

Print "In_ASC 4: " ; In_adc

Wait 1

Start Adc
In_adc = Getadc(5)
Stop Adc

Print "In_ASC 5: " ; In_adc

Wait 1

Start Adc
In_adc = Getadc(6)
Stop Adc

Print "In_ASC 6: " ; In_adc

Wait 1

Start Adc
In_adc = Getadc(7)
Stop Adc

Print "In_ASC 7: " ; In_adc

Wait 1

Loop


Angeschlossen sind die Pins richtig. Habe hier zum testen feste Widerstände verbaut. Annähernd richtig gemessen (im Rahmen meiner Bautoleranz halt ;-)) wird nur auf Pin 1 (ADC0), je höher die Pinnummer, desto mehr quatsch kommt da raus. Das Programm habe ich dabei fast 1:1 aus der Bascom Hilfe raus.

Findet jemand den Fehler oder hat Tipps?

Grüßle

Michl

x-ryder
23.08.2006, 13:59
dann mach einfach mal am anfang start adc (am besten noch vor der do-schleife - anfang) und kein stop adc??

Martin

Crashmichl
23.08.2006, 16:13
Servus,

das war die erste Konfiguration, hat genauso wenig geklappt :-(
Habe heute auf Roboternetz (vor allem unter Downloads) mal rumgesucht, aber da leider auch kein Beispiel gefunden, dass in irgendeiner Weise meinem Problem ähnelt.

Grüßle

Michl

x-ryder
23.08.2006, 17:01
naja, zusätzlich könnte man mal nen enable adc da reinbauen, aber das scheint ja was mit dem timing des chips zu tun zu haben, hast du vllt noch ne "ungraden" quarz da, also nen 7,2738MHz oder 14,7456 oder so? bzw. erstmal überhaupt nen kleineren?? pack den mal drauf, und sag obs dann zumindest besser wird

Martin

Crashmichl
23.08.2006, 17:09
Alles klar, ich probiers mal!

Danke

Michl

linux_80
23.08.2006, 17:40
Hallo,

wie hast Du das mit den Widerständen angeschlossen, kannst du das mal aufzeichnen !
Auf was ich hinaus will, ist es ein Spannungsteiler ?

PS:
mit Enable wird der interrupt aktiviert !

Crashmichl
23.08.2006, 22:04
Hallo,

die Widerstände (beim ersten ein KTY) sind per Spannungsteiler dran. Die angelegte Spannung ist - wie es sein muss - unter dem der Referenzspannung. Ich schaue mal, ob ich es morgen aufzeichnen kann. Die Mittel sind momentan aber eher beqrenzt. Höchstens bis zum WE.

Danke und Gut Nacht
Michl