- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 3 von 3

Thema: SRF10 Code Frage

  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9

    SRF10 Code Frage

    Anzeige

    Powerstation Test
    Hallo,

    ich hab mir vorhin mal den Beispielcode des SRF10 Ultraschallsensors angeschaut.
    In dem Code gibt es folgenden Codeschnipsel:
    Code:
    'Messreichweite in cm festlegen
    Sub Srf10_reichweite(byval Srf10_slaveid As Byte , Byval Reichweite As Word)
    Local Wert As Word
    Local Temp As Byte
    
       Wert = Reichweite / 4                                    'Ungefähre Registerberechnung
       Temp = Low(wert)
    
       I2cstart
       I2cwbyte Srf10_slaveid
       I2cwbyte 2                                               'Register
       I2cwbyte Wert
       I2cstop
    
       Print Temp
    
    End Sub
    Welchen Sinn hat diese Zeile?:
    Temp = Low(wert)

    Ich komm da einfach auf keine Lösung. Ich hab das mal im Bascom Index gesucht und da steht folgendes:
    "Retrieves the least significant byte of a variable."
    Allerdings hab ich mir dann mal das Beispielprogramm zu diesem Befehl in den Simulator geladen und das mal mit den Werten aus dem Programm vom SRF10 getestet.
    Das ist dieses Programm:
    Code:
    $sim
    
    $regfile = "m48def.dat"                                   ' specify the used micro
    
    $crystal = 4000000                                         ' used crystal frequency
    
    $baud = 19200                                               ' use baud rate
    
    $hwstack = 32                                               ' default use 32 for the hardware stack
    
    $swstack = 10                                               ' default use 10 for the SW stack
    
    $framesize = 40                                             ' default use 40 for the frame space
    
    
    
    Dim I As Integer , Z As Byte
    
    I = 30
    
    Z = Low(i)
    
    Print Z                                                     ' is 1
    
    End
    Wenn ich dann die Simulation starte erscheint als Wert für die Variable "Temp" 30. Da frag ich mich was soll dieser Befehl in dem Code von dem US-Sensor bewirken wenn er an der Zahl nichts ändert?
    Ich stehe gerade ziemlich auf dem Schlauch.

    Danke für eure Antworten.

    Gruß
    Daniel

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Hallo Daniel,
    Wert ist genau wie Reichweite vom Typ Word, kann also den Bereich 0 - 65535 abdecken.
    Unterschiede wirst du erst sehen, wenn Wert > 255 ist, weil dann das höherwertige Byte gesetzt wird.
    Etwas unsauber könntest du auch schreiben
    Temp = Wert
    Ergibt dasselbe Resultat in Temp, aber solche impliziten Casts macht man nicht gerne.

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Ahh ok dank dir. Jetzt ergibt das alles auch nen Sinn.....die Zeile kann ich eigentlich aus dem Code löschen wenn ich Reichweite als Byte deklariere womit die Zahl eh nur von 0-255 gehen kann und das somit perfekt in das Register für Reichweite rein passt.

Ähnliche Themen

  1. srf10 bsp code falsch oder us sensor kaputt?
    Von Thomas$ im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 24.10.2010, 19:27
  2. srf10 bsp code falsch oder us sensor kaputt?
    Von Thomas$ im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 24.10.2010, 12:33
  3. Frage zu Code für SRF10
    Von easyprivate im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 12
    Letzter Beitrag: 08.01.2009, 14:06
  4. Frage zu Code
    Von cesupa im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 17.08.2007, 09:48
  5. Sensor Frage egal ob SRF02, SRF05 oder SRF10
    Von patti16 im Forum Sensoren / Sensorik
    Antworten: 5
    Letzter Beitrag: 14.02.2007, 22:25

Berechtigungen

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

Labornetzteil AliExpress