-         
Ergebnis 1 bis 2 von 2

Thema: Subroutinen und Include

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.04.2005
    Ort
    Hannover
    Beiträge
    190

    Subroutinen und Include

    Anzeige

    Hallo!

    Ich bin momentan dabei meine Wetterstation zu bauen.
    Dabei verwende ich auch einen ADC der mir den Drucksensor ausliest.
    Ich hatte auch schon alles zum laufen bekommen bis ich dann auf die Idee mit Subroutinen und lokalen Variablen und so gekommen bin.
    Hier mein Programm:
    Code:
    $regfile = "m32def.dat"
    
    $crystal = 8000000
    
    Config Sda = Portc.1
    Config Scl = Portc.0
    
    Config Lcd = 20 * 4
    Cursor Off
    Cls
    
    Declare Sub Ads1100(luftdruck() As String)
    
    
    Dim K(7) As String * 7
    
    
    
    Do
    
    Call Ads1100(k(1))
    
    Locate 2 , 1
    Lcd "Druck: " ; K(7) ; " hPa"
    Wait 1
    
    Loop
    End
    
    
    
    
    
    Sub Ads1100(luftdruck() As String)                          'Subroutine für ADS1100, Ausgabe: String * 7
    
    Local D As Word
    Local U As Single , P As Single
    
    
    I2cstart
    I2cwbyte &B10010000                                         'Adresse (A0) und schreiben
    I2cwbyte &B10011100                                         'single conversion, 8SPS, gain 1, Messung durchführen
    I2cstop
    
    I2creceive &B10010001 , D , 0 , 2                           'Adresse (A0) und lesen, Daten in Variable schreiben
    
    Rotate D , Left , 8                                         'Bytes in richtige Reihenfolge vertauschen
    
    U = D * 0.000152588
    P = U + 0.76
    P = P / 0.005295
    Luftdruck(7) = Fusing(p , "####.##")
    
    
    End Sub
    Auf meinem Display erscheint erstmal keine Zahl, was ich schonmal komisch finde.
    Und danach steht nur der Rest nach dem Komma dort (z.B. Druck: .76 hPa).
    Kann mir einer sagen warum? Was habe ich falsch gemacht?
    Und wenn ich schonmal dabei bin....
    Ich will das ganze so aufbauen, dass ich später nur noch eine Include-datei einbinde.
    ...Ich weiss nur nicht wie man das macht und auf was man achten muss.
    Gibts da einTutorial zu?

    Vielen Dank
    Marten83

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.04.2005
    Ort
    Hannover
    Beiträge
    190
    ...Und nochwas!
    Der ADC überträgt seine Daten wohl anders als Bascom es speichert.
    Kann man das geschickter machen als ich es mit dem Rotate - Befehl gemacht habe?

Berechtigungen

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