Простое шестнадцатеричное преобразование в десятичное
Option Strict On Imports System.IO.Ports Dim q As Queue(Of Byte) = New Queue(Of Byte) Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs) _ Handles SerialPort1.DataReceived While SerialPort1.BytesToRead > 0 q.Enqueue(CByte(SerialPort1.ReadByte)) End While End Sub Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick SyncLock q While q.Count > 0 Dim B As Byte = q.Dequeue tbRx.Text &= Hex(B) & " " End While End SyncLock End Sub Private Sub btnStop_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnStop.Click SerialPort1.Close() Timer1.Stop() End Sub
НЕ ПОЛНЫЙ КОД
В tbRx, если температура составляет что-то вроде 21,3 градуса Цельсия, я вижу значение 4 BD. Однако мне нужно другое текстовое поле, дающее десятичное значение (оттуда я могу затем преобразовать его в температуру).
Что я уже пробовал:
я пробовал что-то вроде Textbox1. text = B
но это безнадежно неправильно.