Forum: Mikrocontroller und Digitale Elektronik AT90S4433


von fragelix (Gast)


Lesenswert?

hallo zusammen,

habe folgendes problem mit o.g. avr.
will meinetwegen über kanal 0 eine spannung im bereich von o-12v
messen.
folgende anordnung:

2.5v ( referenz ) an pin 21 (aref)
gnd ( referenz masse ) an pin 22(agnd)
5v betriebsspannung an pin 20 (avcc)
6v über 10:1 spannungsteiler an 23(portc0)also etwa 0.6v an pin 23.

dazu folgender code:

$regfile = "4433def.dat"
$crystal = 3696000
$baud = 9600

Config Adc = Single , Prescaler = Auto
Start Adc

Dim W As Long , Channel As Byte , G As Single , I As String * 50


Print "hallo"
Channel = 0

Start Adc
W = Getadc(channel) 'Zuweisung ADC-Wert der Variablen

G = W 'Konvertierung von Word in Single (wegen Komma)
G = G * 2.5
G = G / 1023
I = Str(g) 'wandeln in String
Print I
Waitms 500
Stop Adc

End

nun sollte doch eigentlich die spannung angezeigt werden. tut sie
aber nicht. entweder steht da 0.0 oder ist leerentfernt man die
verbindungen zu den ref-pins ist es ähnlich !

wer kann helfen ? wo steckt der fehler/denkfehler ?

von Dirk (Gast)


Lesenswert?

Hi,

ich meine der Fehler liegt im String umwandeln. Wieso wandelst du den
Wert in ein String um?

Mach mal print g und nimm die zeile raus.
Ansonsten koennte ich dir gegen 00.00 Uhr eine Function fuer Bascom
senden.

Mfg

Dirk

von fragelix (Gast)


Lesenswert?

es geht!

es lag aber weder an konvertierungen noch sonst was ! des rätsels
lösung: neuere version des compilers genommen und schon ging es !
nur komisch, daß genau diese konvertierungen in ähnlicher form auf
einem 8515 bisher nie probleme gemacht haben !*grrrrrrr*

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