- LiFePO4 Speicher Test         
Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 32

Thema: Datentypen

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.427

    Datentypen

    Anzeige

    Praxistest und DIY Projekte
    Hallo hab mal wieder ne frage.
    gibt es eine zusammen fassung der datentypen von bascom. ich glaub genau da liegt ein fehler in meinem programm, dass ich den falschen daten typ in einer rechen operation liegt den mit a=a+1 ereich ich nie eine komma zahl

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.07.2006
    Ort
    Berlin
    Beiträge
    439
    Hallo,

    schau mal in der Bascom Hilfe unter "Language Fundamentals" nach.

    Gruß
    magnetix48

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.427
    ah thx ich komm mit der hilf von Bascom sonst nich wirklich klar habs jetzt aber doch gefunden

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.427
    der misst will immer noch nich ich hab bei meinen rechnungen 0 raus obwohl sie unter vb gehen (hab sie dort extra noch mal getestet)

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.427
    gibt es irgendwelche kombinatinen wo null raus kommt? z.B. double+integer
    oder gibts noch irgend eine möglich keit die mir mein ergebniss auf null setzt ich hab alle variablen mit dim as blabla
    festgelegt

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    52
    Beiträge
    765
    Wäre von Vortiel ein bissel Code zu posten... Ich versuche so weit wie möglich zu vermeiden mit unterschiedliche Datentypen zu rechnen.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.427
    Code:
         $regfile = "m16def.dat"
    $crystal = 7372800
     Dim A As Byte
     Dim B As Byte
     Dim C As Byte
     Dim Comfeld(12) As Byte
     Dim X As Double
     Dim Y As Integer
     Dim Z As Integer
     Dim W As Byte
     Dim K As Byte
     Dim M As Double
     Dim N As Double
     Dim Auflosung As Integer
     Dim Xstart As Integer
     Dim Ystart As Integer
     Dim Zstart As Integer
    
     Dim Xziel As Integer
     Dim Yziel As Integer
     Dim Zziel As Integer
     Dim Zwischenwert1 As Double
     Dim Zwischenwert2 As Double
     Dim Zwischenwert3 As Double
     Dim Zwischenwert4 As Double
     Dim Zwischenwert5 As Double
     Dim Zwischenwert6 As Double
     Dim Aa As Single
     Dim Bb As Single
    
     Dim Xzwischenziel As Integer
     Dim Yzwischenziel As Integer
     Dim Zzwischenziel As Integer
      Dim Realposx As Integer
      Dim Realposy As Integer
      Dim Realposz As Integer
      Dim Stposx As Integer
      Dim Stposy As Integer
      Dim Stposz As Integer
     Dim Motoraus As Long
     Dim Absx As Integer
     Dim Absy As Integer
     Dim Absz As Integer
     Dim Pc1alt As Byte
     Dim Pc0alt As Byte
     Dim F0 As Bit
     Dim F1 As Bit : Dim F2 As Bit : Dim F3 As Bit : Dim F4 As Bit
     Dim F5 As Bit : Dim F6 As Bit : Dim F7 As Bit : Dim F8 As Bit
    
      Auflosung = 2
    Config Porta = Output
    Config Portd = Input
    'Config Portd.6 = Output
    Config Portc = Input
    Config Portb.1 = Input
    Config Portb.0 = Output
       Realposx = 1
       Realposy = 1
    Realposz = 1
    
       'Enable
    
        Xziel = 500
        Yziel = 50
         Porta = 255
    
        Portc = 255
        Stposx = 1                                              'Realposx
        Stposy = 1                                              'Realposy
        Stposz = 1                                              'Realposz
    
    
         For Aa = 0 To 1 Step 0.2
         Bb = Aa - 2
    
         Zwischenwert1 = Stposx * Bb
         Zwischenwert2 = Xziel * Aa
         Zwischenwert3 = Stposy * Bb
         Zwischenwert4 = Yziel * Aa
         Zwischenwert5 = Zwischenwert2 - Zwischenwert1          'zwischen punkt erechnungs zeug
         Zwischenwert6 = zwischenwert4 - Zwischenwert3
    
         X = Zwischenwert5 / 2                                  'realpos damit ich immer vom wirklichen wert ausgehe und der fehler nicht größer wird
         Y = Zwischenwert6 / 2
         ' x= realpos-x
         'X = 50.5
         Motoraus = 0
         If X = 0 Then : Porta.0 = 0 : Else : Porta.0 = 1 : End If
        Do
       If Pinc.0 = 0 Then Pc0alt = 1
       If Pinc.0 = 1 And Pc0alt = 1 Then : Pc0alt = 0 : X = X + 1 : Realposx = Realposx + 1 : End If       'pos holen
    
       If Pinc.1 = 0 Then Pc1alt = 1
       If Pinc.1 = 1 And Pc1alt = 1 Then : Pc1alt = 0 : X = X - 1 : Realposx = Realposx -1 : End If       'pos holen
       If X = 0 Then : Porta.1 = 0 : Else : Porta.1 = 1 : End If
    
          Absx = Abs(x)
    
        If X > 0 Then : Porta.4 = 0 : Porta.5 = 1 : Waitus 50 : End If       'Pos anfahren
        If X < 0 Then : Porta.4 = 1 : Porta.5 = 0 : Waitus 50 : End If       'pos anfahre
        If Absx < 15 Then : Porta.4 = 0 : Porta.5 = 0 : End If
        If X = 0 Then Motoraus = Motoraus + 1
        Loop                                                    'Until Motoraus = 9000
        Next Aa
        Do
        Loop

    If X = 0 Then : Porta.0 = 0 : Else : Porta.0 = 1 : End If
    Daran sehe ich das x=0 ist nagut noch bissel zur funktion es wird mal ne steuerung für ne fräsmaschiene die xzielund yziel .. wird über RS232 gesendet und dann soll die pos angefahren es werden normale lego motoren verwendet und die zwischen punkt erechnung funktioniert halt nich nur in vb

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Setze mal die Stacks hoch. Ist immer gut - ein gern gemachter Fehler
    Wenn das nicht reicht, dann löse die IF/THEN Dinger mal in Einzelzeilen auf.
    Ansonsten Simulator anwerfen...

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.427
    so $hwstack = 32 ' default use 32 for the hardware stack

    $swstack = 10 ? welche werte?

    edit das if then zeugs geht ja wenn ich x=50 vor do......Loop hab fährt der motor den punkt an

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.427
    jetzt geht der simulator nicht mehr

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests