PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler bei Messung an Port A



alecs
20.11.2005, 17:20
Hallo,

ich habe das Testprogramm so abgewandelt das nur noch die Ausgabe von Port A gemacht wird, denn komischer Weise kann ich an Port A keine vernümpftige Spannung mehr messen, dh, ich bekomme Werte zwischen 1 und 5 Volt obwohl nix angeschlossen ist !!!

hier ist mein Programm:


Declare Sub Batteriespannung()
Declare Sub Showporta()

$regfile = "m32def.dat"

Dim I As Integer
Dim N As Integer
Dim Ton As Integer

$crystal = 16000000 'Quarzfrequenz
$baud = 9600

Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung

Config Pina.7 = Input 'Für Tastenabfrage
Porta.7 = 1 'Pullup Widerstand ein


Const Ref = 5.24 / 1023 'Für Batteriespannungsberechnung

Dim Volt As Single

Tccr1b = Tccr1b Or &H02 'Prescaler = 8

I = 0
Sound Portd.7 , 400 , 450 'BEEP
Sound Portd.7 , 400 , 250 'BEEP
Sound Portd.7 , 400 , 450 'BEEP
Print
Print "**** RN-CONTROL 1.4 *****"
Call Batteriespannung
Do
Call Showporta
Waitms 1500
Loop

End

'Diese Unterfunktion zeigt Bateriespannung an
Sub Batteriespannung()
Local W As Word
Start Adc
W = Getadc(6)
Volt = W * Ref
Volt = Volt * 5.2941
Print "Die aktuelle Spannung beträgt: " ; Volt ; " Volt"
'Zeigt Die Analogen Messwerte An Port A An
End Sub

Sub Showporta()
Local Ws As Word

Config Porta = Input
For I = 0 To 5 ' Alle internen Pullup Widerständ ein,bis auf Batteriespannungsmessungsport
Porta.i = 0
Next I

For I = 0 To 7 ' Alle Eingäne inkl.messen
Start Adc
Ws = Getadc(i)
' Ws = Getadc(2)
Volt = Ws * Ref
Print "Pin " ; I ; " ADC-Wert= " ; Ws ; " bei 5V REF waeren das " ; Volt ; " Volt"
Next I
End Sub

linux_80
20.11.2005, 17:40
Hallo,
Du schreibst zwar in deinem Kommentar, in der Schleife unten, das die Pull-ups ein sind, gibts aber trotzdem 0 an, also keine Pull-ups !
Deswegen könnte das ergebnis flattern.

alecs
22.11.2005, 23:56
habe das Problem entdeckt, es lag an meinem Compiler, nutze normalerweise BASCOM 1.11.7.4 und habe es aus versehen in der DEMO von 1.11.7.7 versucht und dadurch haben sich die Fehler eingeschlichen!