- 12V Akku mit 280 Ah bauen    Werbung      
Ergebnis 1 bis 7 von 7

Thema: Typecast für ADC-Wert??

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    08.07.2005
    Beiträge
    36

    Typecast für ADC-Wert??

    Anzeige

    E-Bike
    Hallo Miteinand

    Gibt es im Bascom eigentlich die möglichkeit eines Typecasts?
    Ich möchte auch einen negativen Wert vom ADC anzeigen können.

    Code:
    Local Vr As Single 
    ...
    Start Adc
       Vr[single] = Getadc(0)
       Vr = Vr - 10
       Vr = Vr / 2
    
       Print N ; ". Die Temperatur beträgt : " ; Vr ; " C."
    Eigentlich müßte so ja für ADC = 0V ein Wert von -5 angezeigt werden?!
    Es gint aber immmer einen Zahlenüberlauf!
    Hat jemand ne Idee?

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    EInmal um die ecke:
    Code:
    LOCAL adcval AS WORD
    LOCAL asingle AS single
        adcval = getadc(..)
        asingle = adcval
       asingle = asingle - 10
      ...usw...
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    08.07.2005
    Beiträge
    36
    Hey cool. So geht es jetzt. Vielen Dank!
    Warum ist denn der Umweg nötig?

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Getadc() ist dodel. der schreibt sein 16 Bit in das Return-Feld und tschüss.
    C-mäßiges casten in der Klammer tut der Bascom nicht
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    08.07.2005
    Beiträge
    36
    ok, danke dir.

    Habe da aber noch ne kleine Frage.
    Bin noch viemlich frisch in der Materie, wie ist das mit dem Syntax für Funktionen?

    Code:
    Declare Function Tmessen(Byte) As Single 
    ...
    Function Tmessen(byte)
    
       Start Adc
       Vrtemp = Getadc(0)
       Tmessen = Vrtemp
       Tmessen = Tmessen - 10
       tmessen = tmessen / 2
    
    End Function
    Ich will einen Wert des entspechenden ADC Eingang übergeben und den Messwert zurück haben.

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Code:
    Declare Function Tmessen(byval Arg As Byte) As Single
    
    
    Dim Varia As Single
    
    
    ' haupt programm
       Start Adc           ' das solltest du nur einmal am anfang machen
    
      Do
    
     Varia = Tmessen(4)
         print varia
         Loop
    End
    
    
    
    Function Tmessen(byval Arg As Byte) As Single
    Local Vrtemp As Word
    
       Vrtemp = Getadc(arg)
       Tmessen = Vrtemp
       Tmessen = Tmessen - 10
       tmessen = tmessen / 2
    
    End Function
    das ginge zum beispiel

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    08.07.2005
    Beiträge
    36
    Ja genau.
    Das hab ich gesucht. Vielen Dank.

Berechtigungen

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

    Werbung      12V Akku bauen