Pages - Menu

2016年6月27日 星期一

Modbus RTU通訊(1)

前陣子都是寫單純的rs232或rs485的資料讀取(丟個指令,然後收資料)
,或I/O控制,
modbus的通訊,一年多前寫過,然後最近測的時候,完全忘光。
最後終於弄出來,紀錄一下…方便 抄寫 記憶
基本的序列埠開啟關閉就不說了,
如果有不清楚的請自行google。

2016年6月24日 星期五

小說佳句感想(一)

從高中開始看小說,看到現在也奔三的人了,歲月阿。
以前就有習慣把從小說看到的句子摘錄下來,最近重看一本小說『重生之神級敗家子』,
看到一個不錯的句子,想了想,就乾脆來寫個文章紀念第一篇好了。

2016年6月20日 星期一

16進位轉浮數點的方法(VB.net/C#)

最近收到一台儀器要抓裡面的資料,
然後他輸出是16進位,要轉成浮點數。

這邊的簡單算試需要自己去確認是 Big Endian 還是 Little Endian
傳 412C5757進去計算會得出 浮點數

vb.net

    Function Dec3(n As String)
        Dim num As UInt32 = UInt32.Parse(n, System.Globalization.NumberStyles.AllowHexSpecifier)
        Dim floatVals As Byte() = BitConverter.GetBytes(num)
        Dim f As Single = BitConverter.ToSingle(floatVals, 0)
        Return f

    End Function

C#
        String hexString = "43480170";
        uint num = uint.Parse(hexString, System.Globalization.NumberStyles.AllowHexSpecifier);
        Byte[] floatVals = BitConverter.GetBytes(num);
        float f = BitConverter.ToSingle(floatVals, 0);

        Console.WriteLine("float convert = {0}", f);