Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Konvertere 4 stringer med forskjellige byte bestående av kun enkelt-bytes til vanlige bytes ?

2 views
Skip to first unread message

"Torbjørn M."

unread,
Mar 4, 2011, 5:56:03 PM3/4/11
to
Jeg skal programmere dvs styre en radio, i dette tilfelle en Yaesu
VR5000 for dem som måtte undre. I den sammenheng er det ønskelige at
frekvensen( i 100hz) gjøres om til en hex-verdi, dette er gjort slik:

Frekvens = FormatNumber(Frekvens, 2, TriState.False, TriState.False,
TriState.False)
Dim nyF As Double
Dim nyF2 As Long
nyF = Convert.ToDouble(Frekvens) * 100
nyF2 = Convert.ToInt32(nyF)
Dim fHex As String
Dim F1, F2, F3, F4, OP As Byte
fHex = nyF2.ToString("X8")

De 4 aktuelle verdiene som skal utgjøre F1-F4 finnes slik :
C4 = Microsoft.VisualBasic.Left(fHex, 2)
C3 = Microsoft.VisualBasic.Mid(fHex, 3, 2)
C2 = Microsoft.VisualBasic.Mid(fHex, 5, 2)
C1 = Microsoft.VisualBasic.Right(fHex, 2)

Så langt, alt vel ☺

Det jeg nå ønsker, er at jeg på en lett måte får omgjort(om mulig) C4 ->
F4 ? osv..

Siden C4 er en streng, så får jeg beskjeden her :
Conversion from string "9E" to type 'Byte' is not valid.
(i dette tilfellet var det for frekvensen 439700 som da utgjør
02 9E ED D0. (den blir multiplisert med 100 tross alt)

Seriekommunikasjonen er helt i boks, her er det kun konverteringen som
stanger..

Torbjørn.

Robert Roland

unread,
Mar 5, 2011, 3:07:53 AM3/5/11
to
On Fri, 04 Mar 2011 23:56:03 +0100, "Torbjørn M."
<nei...@spamsnipp.no> wrote:

>Det jeg nå ønsker, er at jeg på en lett måte får omgjort(om mulig) C4 ->
>F4 ?

Hvis jeg forstår deg rett, burde dette virke:

F4 = Convert.ToByte(C4, 16)
--
RoRo

"Torbjørn M."

unread,
Mar 5, 2011, 12:07:42 PM3/5/11
to

HEH, way to go !!

Mange takk ☺☺☺

0 new messages