French question log unsigned byte

fgh3966

Active Member
Licensed User
Bonjour

Voici : un byte est convertit avec l'instruction fb1=Bit.And(0xFF,Buffer(1)) 'convert to unsigned bytes ce qui fait que ça valeur devrait aller de 0 à 255 , cependant apres la fonction Log(fb1) j'obtiens des valeurs non signées allant de -128 à 128, (je ne me souviens plus si c'est de -127 à 128 ou bien -128 à 127)
Est ce normal ?

Ci joint un échantillon de code

Merci


rs232 réception:
Sub btnConnect_Click
    If manager.GetDevices.Length = 0 Then
        Label1.Text = "No USB devices."
    Else
        Dim device As UsbDevice = manager.GetDevices(0) 'the device
        If manager.HasPermission(device) = False Then
            manager.RequestPermission(device)
        Else
            usbserial.Initialize("serial", device, -1)
            usbserial.BaudRate = 230400        '9600 '115200 '460800
            usbserial.DataBits = usbserial.DATA_BITS_8
            usbserial.StartReading
            usbserial.buffer_write_size = 1
            Label1.Text = "COM OK"
        End If
    End If
End Sub

Private Sub serial_DataAvailable (Buffer() As Byte)        ' bytes received
    Dim freq, fb1, fb2, fb3 As Int
    
    If Buffer.Length > 3 Then
        If Buffer(0)=50 Then
            fb1=Bit.And(0xFF,Buffer(1))        'convert to unsigned bytes
            fb2=Bit.And(0xFF,Buffer(2))
            fb3=Bit.And(0xFF,Buffer(3))
            freq = fb1*65536 + fb2*256 + fb3
        End If    

    Log(fb1)
    Log(fb2)

    End If
    digit(freq/1000000, img6)        'convert to decimal
    digit((freq/100000) Mod 10, img5)
    digit((freq/10000) Mod 10, img4)
    digit((freq/1000) Mod 10, img3)
    digit((freq/100) Mod 10, img2)
    digit((freq/10) Mod 10, img1)
    digit(freq Mod 10, img0)
        
End Sub
 
Top