Hallo Ich stehe aufm Schlauch, ich wollte eine PWM ( Lüfter ) Steuern und dafür 2 Messwerte nehmen. Einmal ein Poti für den Sollwert ( Messergebnis1 ) und einen LM335 als Istwert ( Messergebnis2 ) und die Differenz dann als PWM für einen Lüfter. Ich bekomme aber in Bascom eine Fehlermeldung und ich verstehe nicht wieso :( Ich bin kein guter Programmierer, das weis ich... aber so etwas einfaches hatte ich mir schon zu getraut ... ( assigment Error [Messergebnis1-Messergebnis2:0 Dif:2], in File .... $regfile = "attiny13.dat" $crystal = 12000000 $hwstack = 10 Config Portb.0 = Output Config Portb.2 = Input Config Portb.4 = Input Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Dim Messergebnis1 As integer Dim Messergebnis2 As Integer Dim Dif As Byte Do Messergebnis1 = Getadc(2) Messergebnis2 = Getadc(1) Messergebnis1 - Messergebnis2 = Dif Pwm0a = Dif * 4 Loop End
Du hast "Dif" als Byte dimensioniert, aber die beiden Variablen, aus denen das berechnet wird, als Integer. Mach mal "Diif" auch zu einem Integer. Außerdem ist die Formel verkehrt rum: Messergebnis1 - Messergebnis2 = Dif Probier es mal rosum: Dif = Messergebnis1 - Messergebnis2 mfG Paul
:
Bearbeitet durch User
Markus B. schrieb: > Messergebnis1 - Messergebnis2 = Dif Ich kann zwar kein Bascom, aber normalerweise wird von rechts nach links zugewiesen (Stichwort: lvalue). Wette ein kaltes Bier, daß Bascom nicht mehr meckert, wenn du: Dif = Messergebnis1 - Messergebnis2 schreibst... Edith: Ah, der Paul hat's gerade auch noch dazugeschrieben :-)
:
Bearbeitet durch User
Och Nöööö... Schäm... Ich schiebe das jetzt mal aufs Wetter. Natürlich lag es daran :( Vielen Dank euch :) mfg Markus
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.