- LiFePO4 Speicher Test         
Ergebnis 1 bis 7 von 7

Thema: Function - liefert falsche Werte

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.06.2011
    Beiträge
    5
    Ich lass es auch nur im Simulator laufen und bei mir kommt nur murks raus.
    Code:
    $regfile = "m168def.dat"
    $crystal = 3686400
    $baud = 115200                                              'Bootloader Baud = 115200
    $hwstack = 96
    $swstack = 96
    $framesize = 96
    
    '***
    
    Dim Filter1 As Byte : Filter1 = 5
    Dim Filter2 As Byte : Filter2 = 100 - Filter1
    
    Dim Sensor_x As Integer : Sensor_x = 1000
    Dim Sensor_y As Integer : Sensor_y = 2000
    Dim Sensor_z As Integer : Sensor_z = 3000
    
    Dim Ergebnis(3) As Integer
    Dim Temp(2) As Long
    
    '****
    
    Declare Function Filter_x(byval Ergebnis() As Integer , Byval Sensor_x As Integer) As Integer
    Declare Function Filter_y(byval Ergebnis() As Integer , Byval Sensor_y As Integer) As Integer
    Declare Function Filter_z(byval Ergebnis() As Integer , Byval Sensor_z As Integer) As Integer
    
    
    Do
     Ergebnis(1) = Filter_x(ergebnis(1) , Sensor_x)
     Ergebnis(2) = Filter_y(ergebnis(2) , Sensor_y)
     Ergebnis(3) = Filter_z(ergebnis(3) , Sensor_z)
     Print
     Sensor_x = Sensor_x + 1
     Sensor_y = Sensor_y + 2
     Sensor_z = Sensor_z + 3
    
    Loop
    
    
    Function Filter_x(byval Ergebnis() As Integer , Byval Sensor_x As Integer) As Integer
       'Local Temp(2) As Long
       Local Filter_out As Integer
    
       Temp(1) = Sensor_x * Filter1
       Temp(2) = Ergebnis(1) * Filter2
       Temp(2) = Temp(2) + Temp(1)
       Temp(1) = Temp(2) / 100
       Filter_out = Temp(1)
    
       Print "Filter 1 Rohwert " ; Sensor_x ; " Temp(1) " ; Temp(1) ; " Temp(2) " ; Temp(2) ; " Filter_out " ; Filter_out
    
       Filter_x = Filter_out
    End Function
    
    Function Filter_y(byval Ergebnis() As Integer , Byval Sensor_y As Integer) As Integer
       'Local Temp(2) As Long
       Local Filter_out As Integer
    
       Temp(1) = Sensor_y * Filter1
       Temp(2) = Ergebnis(2) * Filter2
       Temp(2) = Temp(2) + Temp(1)
       Temp(1) = Temp(2) / 100
       Filter_out = Temp(1)
    
       Print "Filter 2 Rohwert " ; Sensor_x ; " Temp(1) " ; Temp(1) ; " Temp(2) " ; Temp(2) ; " Filter_out " ; Filter_out
    
       Filter_y = Filter_out
    End Function
    
    Function Filter_z(byval Ergebnis() As Integer , Byval Sensor_z As Integer) As Integer
       'Local Temp(2) As Long
       Local Filter_out As Integer
    
       Temp(1) = Sensor_z * Filter1
       Temp(2) = Ergebnis(3) * Filter2
       Temp(2) = Temp(2) + Temp(1)
       Temp(1) = Temp(2) / 100
       Filter_out = Temp(1)
    
       Print "Filter 3 Rohwert " ; Sensor_x ; " Temp(1) " ; Temp(1) ; " Temp(2) " ; Temp(2) ; " Filter_out " ; Filter_out
    
       Filter_z = Filter_out
    End Function
    Das ist mein kompletter Code

    Code:
    Filter 1 Rohwert 1000 Temp(1) 50 Temp(2) 5000 Filter_out 50
    
    Filter 2 Rohwert 2000 Temp(1) 2000 Temp(2) 200000 Filter_out 2000
    
    Filter 3 Rohwert 3000 Temp(1) 2050 Temp(2) 205000 Filter_out 2050
    
    
    
    Filter 1 Rohwert 1001 Temp(1) 97 Temp(2) 9755 Filter_out 97
    
    Filter 2 Rohwert 2002 Temp(1) 2002 Temp(2) 200200 Filter_out 2002
    
    Filter 3 Rohwert 3003 Temp(1) 2052 Temp(2) 205205 Filter_out 2052
    
    
    
    Filter 1 Rohwert 1002 Temp(1) 142 Temp(2) 14225 Filter_out 142
    
    Filter 2 Rohwert 2004 Temp(1) 2004 Temp(2) 200400 Filter_out 2004
    
    Filter 3 Rohwert 3006 Temp(1) 2054 Temp(2) 205410 Filter_out 2054
    Das kommt als Ausgabe...
    Ich benutze Bascom 2.0.8.0
    Geändert von Glühlampe (16.01.2018 um 18:50 Uhr)

Ähnliche Themen

  1. DCF 77 liefert seltsame Werte
    Von Goldenflash im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 08.08.2011, 08:44
  2. ITG3200 an AVR liefert keine Werte
    Von robert_s im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 27.07.2011, 15:12
  3. ADS830 liefert komische werte
    Von robodriver im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 05.09.2007, 18:20
  4. Devantech SRF 10 US liefert seltsame Werte, kaputt?
    Von ACU im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 17.02.2007, 20:50
  5. PIC liefert keine genauen werte
    Von Mad Max im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 04.08.2006, 20:03

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests