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
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