- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 7 von 7

Thema: Function - liefert falsche Werte

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.06.2011
    Beiträge
    5
    Auch dein Bascom rechnet falsch
    Alle 3 Filter bekommen die selben Werte, somit sollte auch 3x das Gleiche rauskommen.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    STÖHN
    Da brauch ich jetzt mehr Zeit

    - - - Aktualisiert - - -

    Zitat Zitat von Glühlampe Beitrag anzeigen
    Auch dein Bascom rechnet falsch
    Alle 3 Filter bekommen die selben Werte, somit sollte auch 3x das Gleiche rauskommen.
    Die Sensorwerte waren unterschiedlich
    Code:
    Dim Sensor_x As Integer : Sensor_x = 1000
    Dim Sensor_y As Integer : Sensor_y = 2000
    Dim Sensor_z As Integer : Sensor_z = 3000
    Ich hab die mal alle auf 2000 geändert und bekomme:
    Code:
    Filter 1 Rohwert2000 Temp(1) 100 Temp(2) 10000 Filter_out 100
    Filter 2 Rohwert2000 Temp(1) 100 Temp(2) 10000 Filter_out 100
    Filter 3 Rohwert2000 Temp(1) 100 Temp(2) 10000 Filter_out 100
    
    Filter 1 Rohwert2001 Temp(1) 195 Temp(2) 19505 Filter_out 195
    Filter 2 Rohwert2001 Temp(1) 195 Temp(2) 19510 Filter_out 195
    Filter 3 Rohwert2001 Temp(1) 195 Temp(2) 19515 Filter_out 195
    
    Filter 1 Rohwert2002 Temp(1) 285 Temp(2) 28535 Filter_out 285
    Filter 2 Rohwert2002 Temp(1) 285 Temp(2) 28545 Filter_out 285
    Filter 3 Rohwert2002 Temp(1) 285 Temp(2) 28555 Filter_out 285
    Immer noch falsch?
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.06.2011
    Beiträge
    5
    gelöst, so geht es.

    Declare Function Filter(byval Filter_wert As Integer , Byval Raw_data As Integer) As Integer
    Ergebnis(1) = Filter(ergebnis(1) , Sensor_x)

    Der Name in der Declartion darf nicht der gleiche sein wie im Funktionsaufruf.
    So also nicht!
    Declare Function Filter(byval ergebnis(1) As Integer , Byval Raw_data As Integer) As Integer
    Ergebnis(1) = Filter(ergebnis(1) , Sensor_x)


    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
    
    '****
    
    Declare Function Filter(byval Filter_wert As Integer , Byval Raw_data As Integer) As Integer
    
    Do
    
     Ergebnis(1) = Filter(ergebnis(1) , Sensor_x)
     Ergebnis(2) = Filter(ergebnis(2) , Sensor_y)
     Ergebnis(3) = Filter(ergebnis(3) , Sensor_z)
    
     Print Sensor_x ; " " ; Sensor_y ; " " ; Sensor_z ; " * " ;
     Print Ergebnis(1) ; " " ; Ergebnis(2) ; " " ; Ergebnis(3)
    
     If Sensor_x < 2500 Then
       Sensor_x = Sensor_x + 11
       Sensor_y = Sensor_y + 11
       Sensor_z = Sensor_z + 11
     End If
    
    Loop
    
    
    Function Filter(byval Filter_wert As Integer , Byval Raw_data As Integer) As Integer
    
       Local Temp1 As Long
       Local Temp2 As Long
    
       Temp1 = Raw_data * Filter1
       Temp2 = Filter_wert * Filter2
       Temp2 = Temp2 + Temp1
       Temp1 = Temp2 / 100
    
       Filter = Temp1
    
    End Function

Ä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
  •  

fchao-Sinus-Wechselrichter AliExpress